Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2023-05-27 04:06:24
Exec Total Coverage
Lines: 1234 2130 57.9%
Functions: 40 52 76.9%
Branches: 961 1820 52.8%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // Zelda Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "precompiled.h" //always first
12
13 #include "subscr.h"
14 #include "base/zapp.h"
15 #include "zelda.h"
16 #include "tiles.h"
17
1/2
✓ Branch 0 taken 33 times.
✗ Branch 1 not taken.
33 #include "base/zsys.h"
18 #include "base/util.h"
19 #include "hero.h"
20 #include "gamedata.h"
21 #include "items.h"
22 #include <stdio.h>
23 #include <string.h>
24 #include "ffscript.h"
25
26 using namespace util;
27
28 bool show_subscreen_dmap_dots=true;
29 bool show_subscreen_numbers=true;
30 bool show_subscreen_items=true;
31 bool show_subscreen_life=true;
32 bool new_sel=false;
33
34 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
35 extern HeroClass Hero;
36 extern FFScript FFCore;
37
38 subscreen_group *current_subscreen_active;
39 subscreen_group *current_subscreen_passive;
40
41 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
42
43 static const int32_t notscrolling = sspUP | sspDOWN;
44 static const int32_t pos = notscrolling | sspSCROLLING;
45
46 subscreen_object z3_active_a[80]=
47 {
48 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
49 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
112 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
113 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
114 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
115 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
116 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
117 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
118 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
119 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
125 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
126 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
127 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
128 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
129 };
130 subscreen_object z3_active_ab[82]=
131 {
132 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
133 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
197 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
199 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
200 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
201 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
202 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
203 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
204 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
205 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
211 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
212 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
213 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
214 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
215 };
216 subscreen_object z3_passive_a[66]=
217 {
218 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
219 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
221 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
222 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
223 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
242 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
243 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
244 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
245 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
246 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
248 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
250 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
252 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
253 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
254 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
255 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
277 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
278 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
279 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
280 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
281 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
282 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
283 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
284 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
285 };
286 subscreen_object z3_passive_ab[75]=
287 {
288 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
289 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
291 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
292 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
293 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
312 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
313 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
314 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
315 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
316 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
323 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
325 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
327 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
328 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
329 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
330 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
352 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
353 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
354 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
355 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
358 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
359 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
360 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
361 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
362 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
363 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
364 };
365
366 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
367 {
368 {
369 //ssdtOLD
370 {
371 //ssdtOLD, overworld
372 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
373 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
383 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
385 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
386 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
387 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
388 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
389 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
390 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
393 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
435 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
436 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
437 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
438 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
439 },
440 {
441 //ssdtOLD, dungeon
442 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
443 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
453 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
455 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
456 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
457 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
458 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
459 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
460 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
462 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
463 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
464 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
465 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
466 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
467 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
505 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
506 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
507 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
508 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
509 }
510 },
511 {
512 //ssdtNEWSUBSCR
513 {
514 //ssdtNEWSUBSCR, overworld
515 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
516 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
530 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
532 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
534 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
536 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
578 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
579 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
580 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
581 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
582 },
583 {
584 //ssdtNEWSUBSCR, dungeon
585 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
586 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
600 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
604 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
605 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
606 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
607 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
608 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
609 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
610 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
648 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
649 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
650 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
651 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
652 }
653 },
654 {
655 //ssdtREV2
656 {
657 //ssdtREV2, overworld
658 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
659 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
673 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
675 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
677 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
679 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
721 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
722 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
723 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
724 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
725 },
726 {
727 //ssdtREV2, dungeon
728 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
729 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
743 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
747 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
749 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
751 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
791 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
792 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
793 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
794 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
795 }
796 },
797 {
798 //ssdtBSZELDA
799 {
800 //ssdtBSZELDA, overworld
801 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
802 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
812 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
814 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
815 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
816 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
817 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
818 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
819 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
820 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
822 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
862 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
864 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
865 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
866 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
867 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
868 },
869 {
870 //ssdtBSZELDA, dungeon
871 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
872 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
882 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
884 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
885 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
886 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
887 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
888 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
889 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
890 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
891 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
892 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
893 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
894 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
895 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
896 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
932 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
934 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
935 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
936 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
937 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
938 }
939 },
940 {
941 //ssdtBSZELDAMODIFIED
942 {
943 //ssdtBSZELDAMODIFIED, overworld
944 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
945 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
955 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
957 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
958 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
959 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
960 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
961 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
962 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
963 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
965 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1005 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1007 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1008 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1009 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1010 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1011 },
1012 {
1013 //ssdtBSZELDAMODIFIED, dungeon
1014 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1015 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1025 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1027 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1028 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1029 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1030 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1031 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1032 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1033 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1034 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1035 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1036 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1037 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1038 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1039 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1075 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1077 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1078 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1079 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1080 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1081 }
1082 },
1083 {
1084 //ssdtBSZELDAENHANCED
1085 {
1086 //ssdtBSZELDAENHANCED, overworld
1087 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1088 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1098 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1100 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1101 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1102 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1103 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1104 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1105 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1106 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1108 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1148 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1150 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1151 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1152 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1153 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1154 },
1155 {
1156 //ssdtBSZELDAENHANCED, dungeon
1157 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1158 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1168 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1170 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1171 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1172 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1173 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1174 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1175 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1176 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1177 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1178 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1179 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1180 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1181 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1182 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1218 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1220 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1221 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1222 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1223 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1224 }
1225 },
1226 {
1227 //ssdtBSZELDACOMPLETE
1228 {
1229 //ssdtBSZELDACOMPLETE, overworld
1230 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1231 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1241 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1243 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1244 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1245 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1246 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1247 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1248 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1249 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1251 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1291 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1293 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1294 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1295 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1296 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1297 },
1298 {
1299 //ssdtBSZELDACOMPLETE, dungeon
1300 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1301 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1311 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1313 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1314 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1315 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1316 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1317 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1318 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1319 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1361 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1363 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1364 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1365 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1366 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1367 }
1368 }
1369 };
1370 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1371 {
1372 {
1373 //ssdtOLD
1374 {
1375 //ssdtOLD, magic
1376 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1377 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1383 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1384 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1385 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1386 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1387 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1388 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1390 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1397 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1398 },
1399 {
1400 //ssdtOLD, no magic
1401 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1402 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1408 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1409 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1410 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1411 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1412 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1413 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1415 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1418 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1419 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1420 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1421 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1422 }
1423 },
1424 {
1425 //ssdtNEWSUBSCR
1426 {
1427 //ssdtNEWSUBSCR, magic
1428 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1429 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1435 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1436 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1437 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1438 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1439 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1440 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1442 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1449 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1450 },
1451 {
1452 //ssdtNEWSUBSCR, no magic
1453 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1454 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1460 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1461 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1462 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1463 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1464 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1465 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1467 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1470 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1471 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1472 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1473 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1474 }
1475 },
1476 {
1477 //ssdtREV2
1478 {
1479 //ssdtREV2, magic
1480 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1481 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1487 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1488 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1489 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1490 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1491 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1492 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1494 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1501 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1502 },
1503 {
1504 //ssdtREV2, no magic
1505 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1506 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1512 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1513 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1514 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1515 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1516 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1519 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1525 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1526 }
1527 },
1528 {
1529 //ssdtBSZELDA
1530 {
1531 //ssdtBSZELDA, magic
1532 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1533 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1539 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1540 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1541 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1542 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1543 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1544 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1546 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1549 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1550 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1551 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1552 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1553 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1554 },
1555 {
1556 //ssdtBSZELDA, no magic
1557 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1558 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1564 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1565 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1566 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1567 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1568 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1569 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1571 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1574 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1575 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1576 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1577 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1578 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1579 }
1580 },
1581 {
1582 //ssdtBSZELDAMODIFIED
1583 {
1584 //ssdtBSZELDAMODIFIED, magic
1585 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1586 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1592 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1593 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1594 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1595 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1596 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1597 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1599 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1602 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1603 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1604 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1605 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1606 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1607 },
1608 {
1609 //ssdtBSZELDAMODIFIED, no magic
1610 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1611 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1617 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1618 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1619 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1620 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1621 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1622 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1624 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1627 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1628 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1629 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1630 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1631 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1632 }
1633 },
1634 {
1635 //ssdtBSZELDAENHANCED
1636 {
1637 //ssdtBSZELDAENHANCED, magic
1638 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1639 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1645 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1646 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1647 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1648 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1649 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1650 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1652 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1655 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1656 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1657 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1658 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1659 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1660 },
1661 {
1662 //ssdtBSZELDAENHANCED, no magic
1663 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1664 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1670 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1671 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1672 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1673 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1674 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1675 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1677 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1680 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1681 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1682 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1683 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1684 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1685 }
1686 },
1687 {
1688 //ssdtBSZELDACOMPLETE
1689 {
1690 //ssdtBSZELDACOMPLETE, magic
1691 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1692 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1698 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1699 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1700 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1701 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1702 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1703 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1705 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1708 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1709 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1710 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1711 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1712 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1713 },
1714 {
1715 //ssdtBSZELDACOMPLETE, no magic
1716 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1717 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1723 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1724 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1725 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1726 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1727 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1728 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1730 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1733 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1735 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1736 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1737 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1738 }
1739 }
1740 };
1741
1742 58815968 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1743 {
1744
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5382765 times.
✓ Branch 2 taken 27415024 times.
✓ Branch 3 taken 26018179 times.
58815968 switch(alignment)
1745 {
1746 case sstaRIGHT:
1747
3/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 923 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 11678 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5370164 times.
5382765 switch(textstyle)
1748 {
1749 case sstsSHADOW:
1750 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1751 break;
1752
1753 case sstsSHADOWU:
1754 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1755 break;
1756
1757 case sstsOUTLINE8:
1758 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1759 break;
1760
1761 case sstsOUTLINEPLUS:
1762 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1763 break;
1764
1765 case sstsOUTLINEX:
1766 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1767 break;
1768
1769 case sstsSHADOWED:
1770 923 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1771 923 break;
1772
1773 case sstsSHADOWEDU:
1774 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1775 break;
1776
1777 case sstsOUTLINED8:
1778 11678 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1779 11678 break;
1780
1781 case sstsOUTLINEDPLUS:
1782 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1783 break;
1784
1785 case sstsOUTLINEDX:
1786 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1787 break;
1788
1789 5370164 case sstsNORMAL:
1790 default:
1791 5370164 textout_right_ex(bmp, f, s, x, y, color, bg);
1792 5370164 break;
1793 }
1794
1795 5382765 break;
1796
1797 case sstaCENTER:
1798
4/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 2532 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20974 times.
✓ Branch 9 taken 288470 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 27103048 times.
27415024 switch(textstyle)
1799 {
1800 case sstsSHADOW:
1801 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1802 break;
1803
1804 case sstsSHADOWU:
1805 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1806 break;
1807
1808 case sstsOUTLINE8:
1809 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1810 break;
1811
1812 case sstsOUTLINEPLUS:
1813 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1814 break;
1815
1816 case sstsOUTLINEX:
1817 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1818 break;
1819
1820 case sstsSHADOWED:
1821 2532 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1822 2532 break;
1823
1824 case sstsSHADOWEDU:
1825 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1826 break;
1827
1828 case sstsOUTLINED8:
1829 20974 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1830 20974 break;
1831
1832 case sstsOUTLINEDPLUS:
1833 288470 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1834 288470 break;
1835
1836 case sstsOUTLINEDX:
1837 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1838 break;
1839
1840 27103048 case sstsNORMAL:
1841 default:
1842 27103048 textout_centre_ex(bmp, f, s, x, y, color, bg);
1843 27103048 break;
1844 }
1845
1846 27415024 break;
1847
1848 26018179 case sstaLEFT:
1849 default:
1850
5/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 4908 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 806545 times.
✓ Branch 9 taken 1605547 times.
✓ Branch 10 taken 364228 times.
✓ Branch 11 taken 23236951 times.
26018179 switch(textstyle)
1851 {
1852 case sstsSHADOW:
1853 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1854 break;
1855
1856 case sstsSHADOWU:
1857 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1858 break;
1859
1860 case sstsOUTLINE8:
1861 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1862 break;
1863
1864 case sstsOUTLINEPLUS:
1865 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1866 break;
1867
1868 case sstsOUTLINEX:
1869 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1870 break;
1871
1872 case sstsSHADOWED:
1873 4908 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1874 4908 break;
1875
1876 case sstsSHADOWEDU:
1877 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1878 break;
1879
1880 case sstsOUTLINED8:
1881 806545 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1882 806545 break;
1883
1884 case sstsOUTLINEDPLUS:
1885 1605547 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1886 1605547 break;
1887
1888 case sstsOUTLINEDX:
1889 364228 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1890 364228 break;
1891
1892 23236951 case sstsNORMAL:
1893 default:
1894 23236951 textout_ex(bmp, f, s, x, y, color, bg);
1895 23236951 break;
1896 }
1897
1898 26018179 break;
1899 }
1900 58815968 }
1901
1902 24380549 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1903 {
1904
1905 char buf[512];
1906 va_list ap;
1907
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24380549 times.
24380549 ASSERT(bmp);
1908
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24380549 times.
24380549 ASSERT(f);
1909
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24380549 times.
24380549 ASSERT(format);
1910
1911 24380549 va_start(ap, format);
1912 24380549 uvszprintf(buf, sizeof(buf), format, ap);
1913 24380549 va_end(ap);
1914
1915 24380549 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1916 24380549 }
1917
1918
1919 64665 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1920 {
1921 64665 int32_t y1 = y;
1922 int32_t x1;
1923 int32_t len;
1924 char s[16];
1925 char text[16];
1926 char space[16];
1927 64665 char *printed = text;
1928 64665 char *scanned = text;
1929 64665 char *oldscan = text;
1930 64665 char *ignore = NULL;
1931 char *tmp, *ptmp;
1932 int32_t width;
1933 64665 int32_t i = 0;
1934 int32_t noignore;
1935
1936 64665 usetc(s+usetc(s, '.'), 0);
1937 64665 usetc(text+usetc(text, ' '), 0);
1938 64665 usetc(space+usetc(space, ' '), 0);
1939
1940 /* find the correct text */
1941
1/2
✓ Branch 0 taken 64665 times.
✗ Branch 1 not taken.
64665 if(thetext != NULL)
1942 {
1943 64665 printed = thetext;
1944 64665 scanned = thetext;
1945 64665 }
1946
1947 /* loop over the entire string */
1948 239069 for(;;)
1949 {
1950 239069 width = 0;
1951
1952 /* find the next break */
1953
2/2
✓ Branch 0 taken 18109 times.
✓ Branch 1 taken 287809 times.
305918 while(ugetc(scanned))
1954 {
1955 /* check for a forced break */
1956
1/2
✓ Branch 0 taken 287809 times.
✗ Branch 1 not taken.
287809 if(ugetc(scanned) == '\n')
1957 {
1958 scanned += uwidth(scanned);
1959 /* we are done parsing the line end */
1960 break;
1961 }
1962
1963 /* the next character length */
1964 287809 usetc(s+usetc(s, ugetc(scanned)), 0);
1965 287809 len = text_length(tempfont, s);
1966
1967 /* modify length if its a tab */
1968
2/2
✓ Branch 0 taken 266501 times.
✓ Branch 1 taken 21308 times.
287809 if(ugetc(s) == '\t')
1969 {
1970 21308 len = tabsize * text_length(tempfont, space);
1971 21308 }
1972
1973 /* check for the end of a line by excess width of next char */
1974
2/2
✓ Branch 0 taken 66849 times.
✓ Branch 1 taken 220960 times.
287809 if(width+len >= w)
1975 {
1976 /* we have reached end of line do we go back to find start */
1977
1/2
✓ Branch 0 taken 220960 times.
✗ Branch 1 not taken.
220960 if(wword)
1978 {
1979 /* remember where we were */
1980 oldscan = scanned;
1981 noignore = FALSE;
1982
1983 /* go backwards looking for start of word */
1984 while(!uisspace(ugetc(scanned)))
1985 {
1986 /* don't wrap too far */
1987 if(scanned == printed)
1988 {
1989 /* the whole line is filled, so stop here */
1990 tmp = ptmp = scanned;
1991
1992 while(ptmp != oldscan)
1993 {
1994 ptmp = tmp;
1995 tmp += uwidth(tmp);
1996 }
1997
1998 scanned = ptmp;
1999 noignore = TRUE;
2000 break;
2001 }
2002
2003 /* look further backwards to wrap */
2004 tmp = ptmp = printed;
2005
2006 while(tmp < scanned)
2007 {
2008 ptmp = tmp;
2009 tmp += uwidth(tmp);
2010 }
2011
2012 scanned = ptmp;
2013 }
2014
2015 /* put the space at the end of the line */
2016 if(!noignore)
2017 {
2018 ignore = scanned;
2019 scanned += uwidth(scanned);
2020 }
2021 else
2022 {
2023 ignore = NULL;
2024 }
2025
2026 /* check for endline at the convenient place */
2027 if(ugetc(scanned) == '\n')
2028 {
2029 scanned += uwidth(scanned);
2030 }
2031 }
2032
2033 /* we are done parsing the line end */
2034 220960 break;
2035 }
2036
2037 /* the character can be added */
2038 66849 scanned += uwidth(scanned);
2039 66849 width += len;
2040 }
2041
2042 /* check if we are to print it */
2043
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 225302 times.
239069 if((y1+text_height(tempfont) <= (y+h)))
2044 {
2045 13767 int32_t tempw=0;
2046 13767 char *tempprinted=printed;
2047
2048 /* print up to the marked character */
2049
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2050 {
2051 /* do special stuff for each charater */
2052
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2053 {
2054 case '\r':
2055 case '\n':
2056 /* don't print endlines in the text */
2057 break;
2058
2059 /* possibly expand the tabs */
2060 case '\t':
2061 for(i=0; i<tabsize; i++)
2062 {
2063 usetc(s+usetc(s, ' '), 0);
2064 tempw += text_length(tempfont, s);
2065 }
2066
2067 break;
2068
2069 /* print a normal character */
2070 default:
2071
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2072 {
2073 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2074 45541 tempw += text_length(tempfont, s);
2075 45541 }
2076 45541 }
2077
2078 /* goto the next character */
2079 45541 printed += uwidth(printed);
2080 }
2081
2082 13767 printed=tempprinted;
2083
2084
2/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 13269 times.
✓ Branch 3 taken 498 times.
13767 switch(alignment)
2085 {
2086 case sstaRIGHT:
2087 x1=x+w-tempw;
2088 break;
2089
2090 case sstaCENTER:
2091 13269 x1=x+((w-tempw)/2)+1;
2092 13269 break;
2093
2094 498 case sstaLEFT:
2095 default:
2096 498 x1 = x;
2097 498 break;
2098 }
2099
2100 /* print up to the marked character */
2101
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2102 {
2103 /* do special stuff for each charater */
2104
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2105 {
2106
2107 case '\r':
2108 case '\n':
2109 /* don't print endlines in the text */
2110 break;
2111
2112 /* possibly expand the tabs */
2113 case '\t':
2114 for(i=0; i<tabsize; i++)
2115 {
2116 usetc(s+usetc(s, ' '), 0);
2117 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2118 x1 += text_length(tempfont, s);
2119 }
2120
2121 break;
2122
2123 /* print a normal character */
2124 default:
2125
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2126 {
2127 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2128 45541 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2129 45541 x1 += text_length(tempfont, s);
2130 45541 }
2131 45541 }
2132
2133 /* goto the next character */
2134 45541 printed += uwidth(printed);
2135 }
2136
2137 /* print the line end */
2138 13767 y1 += text_height(tempfont);
2139 13767 }
2140 else
2141 {
2142 225302 scanned += uwidth(scanned);
2143 }
2144
2145 239069 printed = scanned;
2146
2147 /* check if we are at the end of the string */
2148
2/2
✓ Branch 0 taken 64665 times.
✓ Branch 1 taken 174404 times.
239069 if(!ugetc(printed))
2149 {
2150 64665 return;
2151 }
2152 }
2153 }
2154
2155
2156
2157 //void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2158 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2159 15348872 void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2160 {
2161 /*
2162 /- -- -- -\
2163 | |
2164 | |
2165 \_ __ __ _/
2166
2167 0 1 4 5
2168 2 3 6 7
2169 80 81 84 85
2170 82 83 86 87
2171 */
2172
3/4
✓ Branch 0 taken 13262588 times.
✓ Branch 1 taken 2086284 times.
✓ Branch 2 taken 13262588 times.
✗ Branch 3 not taken.
15348872 if(tile==0&&misc)
2173 {
2174 13262588 tile = misc->colors.blueframe_tile;
2175 13262588 }
2176
2177 15348872 int32_t t8 = tile<<2;
2178
2179
2/2
✓ Branch 0 taken 15337181 times.
✓ Branch 1 taken 11691 times.
15348872 if(overlay)
2180 {
2181
2/2
✓ Branch 0 taken 44345 times.
✓ Branch 1 taken 15292836 times.
15337181 if(trans)
2182 {
2183
2/2
✓ Branch 0 taken 1419040 times.
✓ Branch 1 taken 44345 times.
1463385 for(int32_t dx=0; dx<w; dx++)
2184 {
2185
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2186
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2187
2188 1419040 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2189 1419040 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2190 1419040 }
2191
2192
2/2
✓ Branch 0 taken 221725 times.
✓ Branch 1 taken 44345 times.
266070 for(int32_t dy=1; dy<h-1; dy++)
2193 {
2194
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2195
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2196
2197 221725 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2198 221725 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2199
2200
2/2
✓ Branch 0 taken 6651750 times.
✓ Branch 1 taken 221725 times.
6873475 for(int32_t dx=1; dx<w-1; dx++)
2201 {
2202
6/6
✓ Branch 0 taken 3991050 times.
✓ Branch 1 taken 2660700 times.
✓ Branch 2 taken 1995525 times.
✓ Branch 3 taken 1995525 times.
✓ Branch 4 taken 1330350 times.
✓ Branch 5 taken 1330350 times.
6651750 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2203 6651750 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2204 6651750 }
2205 221725 }
2206 44345 }
2207 else
2208 {
2209
2/2
✓ Branch 0 taken 53032707 times.
✓ Branch 1 taken 15292836 times.
68325543 for(int32_t dx=0; dx<w; dx++)
2210 {
2211
6/6
✓ Branch 0 taken 33303970 times.
✓ Branch 1 taken 19728737 times.
✓ Branch 2 taken 15292836 times.
✓ Branch 3 taken 18011134 times.
✓ Branch 4 taken 4435901 times.
✓ Branch 5 taken 15292836 times.
53032707 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2212
6/6
✓ Branch 0 taken 33303970 times.
✓ Branch 1 taken 19728737 times.
✓ Branch 2 taken 15292836 times.
✓ Branch 3 taken 18011134 times.
✓ Branch 4 taken 4435901 times.
✓ Branch 5 taken 15292836 times.
53032707 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2213
2214 53032707 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2215 53032707 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2216 53032707 }
2217
2218
2/2
✓ Branch 0 taken 32603754 times.
✓ Branch 1 taken 15292836 times.
47896590 for(int32_t dy=1; dy<h-1; dy++)
2219 {
2220
2/2
✓ Branch 0 taken 16952621 times.
✓ Branch 1 taken 15651133 times.
32603754 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2221
2/2
✓ Branch 0 taken 16952621 times.
✓ Branch 1 taken 15651133 times.
32603754 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2222
2223 32603754 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2224 32603754 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2225
2226
2/2
✓ Branch 0 taken 57859469 times.
✓ Branch 1 taken 32603754 times.
90463223 for(int32_t dx=1; dx<w-1; dx++)
2227 {
2228
6/6
✓ Branch 0 taken 30149694 times.
✓ Branch 1 taken 27709775 times.
✓ Branch 2 taken 22002113 times.
✓ Branch 3 taken 8147581 times.
✓ Branch 4 taken 20697891 times.
✓ Branch 5 taken 7011884 times.
57859469 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2229 57859469 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2230 57859469 }
2231 32603754 }
2232 }
2233 15337181 }
2234 else
2235 {
2236
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11691 times.
11691 if(trans)
2237 {
2238 for(int32_t dx=0; dx<w; dx++)
2239 {
2240 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2241 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2242
2243 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2244 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2245 }
2246
2247 for(int32_t dy=1; dy<h-1; dy++)
2248 {
2249 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2250 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2251
2252 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2253 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2254
2255 for(int32_t dx=1; dx<w-1; dx++)
2256 {
2257 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2258 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2259 }
2260 }
2261 }
2262 else
2263 {
2264
2/2
✓ Branch 0 taken 187056 times.
✓ Branch 1 taken 11691 times.
198747 for(int32_t dx=0; dx<w; dx++)
2265 {
2266
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2267
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2268
2269 187056 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2270 187056 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2271 187056 }
2272
2273
2/2
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 11691 times.
105219 for(int32_t dy=1; dy<h-1; dy++)
2274 {
2275
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2276
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2277
2278 93528 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2279 93528 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2280
2281
2/2
✓ Branch 0 taken 1309392 times.
✓ Branch 1 taken 93528 times.
1402920 for(int32_t dx=1; dx<w-1; dx++)
2282 {
2283
6/6
✓ Branch 0 taken 654696 times.
✓ Branch 1 taken 654696 times.
✓ Branch 2 taken 327348 times.
✓ Branch 3 taken 327348 times.
✓ Branch 4 taken 327348 times.
✓ Branch 5 taken 327348 times.
1309392 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2284 1309392 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2285 1309392 }
2286 93528 }
2287 }
2288 }
2289 15348872 }
2290
2291 2546706 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2292 {
2293 2546706 int32_t si=0;
2294
2295
2/2
✓ Branch 0 taken 20373648 times.
✓ Branch 1 taken 2546706 times.
22920354 for(int32_t y2=0; y2<=7; ++y2)
2296 {
2297 20373648 byte dl = DMaps[get_currdmap()].grid[si];
2298
2299
2/2
✓ Branch 0 taken 162989184 times.
✓ Branch 1 taken 20373648 times.
183362832 for(int32_t x2=0; x2<=7; ++x2)
2300 {
2301
2/2
✓ Branch 0 taken 15707392 times.
✓ Branch 1 taken 147281792 times.
162989184 if(c2==-1)
2302 {
2303
2/2
✓ Branch 0 taken 78639621 times.
✓ Branch 1 taken 68642171 times.
147281792 if(dl&0x80)
2304 68642171 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2305 147281792 }
2306 else
2307 {
2308 15707392 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2309
2310
1/2
✓ Branch 0 taken 15707392 times.
✗ Branch 1 not taken.
15707392 if(dl&0x80)
2311 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2312 }
2313
2314 162989184 dl<<=1;
2315 162989184 }
2316
2317 20373648 ++si;
2318 20373648 }
2319 2546706 }
2320
2321 2931056 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2322 {
2323
2/2
✓ Branch 0 taken 8796940 times.
✓ Branch 1 taken 2931056 times.
11727996 for(int32_t j=0; j<h; j++)
2324
2/2
✓ Branch 0 taken 44103039 times.
✓ Branch 1 taken 8796940 times.
52899979 for(int32_t i=0; i<w; i++)
2325 52899979 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2326 2931056 }
2327
2328 13084274 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2329 {
2330
2/2
✓ Branch 0 taken 13061297 times.
✓ Branch 1 taken 22977 times.
13084274 if(overlay)
2331 {
2332
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
13061297 switch(flip&3)
2333 {
2334 case 0:
2335
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
13061297 if(trans)
2336 {
2337 for(int32_t j=0; j<h; j++)
2338 {
2339 for(int32_t i=0; i<w; i++)
2340 {
2341 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2342 }
2343 }
2344 }
2345 else
2346 {
2347
2/2
✓ Branch 0 taken 15306933 times.
✓ Branch 1 taken 13061297 times.
28368230 for(int32_t j=0; j<h; j++)
2348 {
2349
2/2
✓ Branch 0 taken 40578694 times.
✓ Branch 1 taken 15306933 times.
55885627 for(int32_t i=0; i<w; i++)
2350 {
2351 40578694 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2352 40578694 }
2353 15306933 }
2354 }
2355
2356 13061297 break;
2357
2358 case 1: //horizontal
2359 if(trans)
2360 {
2361 for(int32_t j=0; j<h; j++)
2362 {
2363 for(int32_t i=0; i<w; i++)
2364 {
2365 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2366 }
2367 }
2368 }
2369 else
2370 {
2371 for(int32_t j=0; j<h; j++)
2372 {
2373 for(int32_t i=0; i<w; i++)
2374 {
2375 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2376 }
2377 }
2378 }
2379
2380 break;
2381
2382 case 2:
2383 if(trans)
2384 {
2385 for(int32_t j=0; j<h; j++)
2386 {
2387 for(int32_t i=0; i<w; i++)
2388 {
2389 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2390 }
2391 }
2392 }
2393 else
2394 {
2395 for(int32_t j=0; j<h; j++)
2396 {
2397 for(int32_t i=0; i<w; i++)
2398 {
2399 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2400 }
2401 }
2402 }
2403
2404 break;
2405
2406 case 3:
2407 if(trans)
2408 {
2409 for(int32_t j=0; j<h; j++)
2410 {
2411 for(int32_t i=0; i<w; i++)
2412 {
2413 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2414 }
2415 }
2416 }
2417 else
2418 {
2419 for(int32_t j=0; j<h; j++)
2420 {
2421 for(int32_t i=0; i<w; i++)
2422 {
2423 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2424 }
2425 }
2426 }
2427
2428 break;
2429 }
2430 13061297 }
2431 else
2432 {
2433
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
22977 switch(flip&3)
2434 {
2435 case 0:
2436
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
22977 if(trans)
2437 {
2438 for(int32_t j=0; j<h; j++)
2439 {
2440 for(int32_t i=0; i<w; i++)
2441 {
2442 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2443 }
2444 }
2445 }
2446 else
2447 {
2448
2/2
✓ Branch 0 taken 118148 times.
✓ Branch 1 taken 22977 times.
141125 for(int32_t j=0; j<h; j++)
2449 {
2450
2/2
✓ Branch 0 taken 708888 times.
✓ Branch 1 taken 118148 times.
827036 for(int32_t i=0; i<w; i++)
2451 {
2452 708888 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2453 708888 }
2454 118148 }
2455 }
2456
2457 22977 break;
2458
2459 case 1: //horizontal
2460 if(trans)
2461 {
2462 for(int32_t j=0; j<h; j++)
2463 {
2464 for(int32_t i=0; i<w; i++)
2465 {
2466 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2467 }
2468 }
2469 }
2470 else
2471 {
2472 for(int32_t j=0; j<h; j++)
2473 {
2474 for(int32_t i=0; i<w; i++)
2475 {
2476 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2477 }
2478 }
2479 }
2480
2481 break;
2482
2483 case 2:
2484 if(trans)
2485 {
2486 for(int32_t j=0; j<h; j++)
2487 {
2488 for(int32_t i=0; i<w; i++)
2489 {
2490 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2491 }
2492 }
2493 }
2494 else
2495 {
2496 for(int32_t j=0; j<h; j++)
2497 {
2498 for(int32_t i=0; i<w; i++)
2499 {
2500 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2501 }
2502 }
2503 }
2504
2505 break;
2506
2507 case 3:
2508 if(trans)
2509 {
2510 for(int32_t j=0; j<h; j++)
2511 {
2512 for(int32_t i=0; i<w; i++)
2513 {
2514 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2515 }
2516 }
2517 }
2518 else
2519 {
2520 for(int32_t j=0; j<h; j++)
2521 {
2522 for(int32_t i=0; i<w; i++)
2523 {
2524 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2525 }
2526 }
2527 }
2528
2529 break;
2530 }
2531 }
2532 13084274 }
2533
2534 7021670 void drawdmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2535 {
2536 7021670 zcolors c=misc->colors;
2537 7021670 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2538
2539
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7021670 times.
7021670 if(showmap)
2540 {
2541
2/3
✓ Branch 0 taken 2250181 times.
✓ Branch 1 taken 4771489 times.
✗ Branch 2 not taken.
7021670 switch(type)
2542 {
2543 case dmOVERW:
2544 case dmBSOVERW:
2545 {
2546
3/4
✓ Branch 0 taken 35285 times.
✓ Branch 1 taken 2214896 times.
✓ Branch 2 taken 35285 times.
✗ Branch 3 not taken.
2250181 int32_t maptile=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2547
3/4
✓ Branch 0 taken 35285 times.
✓ Branch 1 taken 2214896 times.
✓ Branch 2 taken 35285 times.
✗ Branch 3 not taken.
2250181 int32_t mapcset=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2548 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2549
2/2
✓ Branch 0 taken 18624 times.
✓ Branch 1 taken 2231557 times.
2250181 if(maptile)
2550 {
2551 18624 draw_block(dest,x,y,maptile,mapcset,5,3);
2552 18624 }
2553
3/4
✓ Branch 0 taken 1075190 times.
✓ Branch 1 taken 1156367 times.
✓ Branch 2 taken 1075190 times.
✗ Branch 3 not taken.
2231557 else if(c.overworld_map_tile || c.overworld_map_tile)
2554 {
2555
1/2
✓ Branch 0 taken 1156367 times.
✗ Branch 1 not taken.
1156367 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2556 1156367 }
2557 else
2558 {
2559 1075190 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2560 }
2561
2562
4/4
✓ Branch 0 taken 2231557 times.
✓ Branch 1 taken 18624 times.
✓ Branch 2 taken 1986129 times.
✓ Branch 3 taken 245428 times.
2250181 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2563 {
2564 245428 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2565 245428 }
2566
2567 2250181 break;
2568 }
2569 case dmDNGN:
2570 case dmCAVE:
2571 {
2572
2/2
✓ Branch 0 taken 2375494 times.
✓ Branch 1 taken 2395995 times.
4771489 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2573
2/2
✓ Branch 0 taken 2375494 times.
✓ Branch 1 taken 2395995 times.
4771489 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2574 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2575
2/2
✓ Branch 0 taken 119555 times.
✓ Branch 1 taken 4651934 times.
4771489 if(maptile)
2576 {
2577 119555 draw_block(dest,x,y,maptile,mapcset,5,3);
2578 119555 }
2579
3/4
✓ Branch 0 taken 3044183 times.
✓ Branch 1 taken 1607751 times.
✓ Branch 2 taken 3044183 times.
✗ Branch 3 not taken.
4651934 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2580 {
2581
1/2
✓ Branch 0 taken 1607751 times.
✗ Branch 1 not taken.
1607751 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2582 1607751 }
2583 else
2584 {
2585 3044183 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2586 }
2587 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2588
4/4
✓ Branch 0 taken 4677324 times.
✓ Branch 1 taken 94165 times.
✓ Branch 2 taken 2376046 times.
✓ Branch 3 taken 2301278 times.
4771489 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2589 {
2590
2/2
✓ Branch 0 taken 33251 times.
✓ Branch 1 taken 2268027 times.
2301278 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2591 {
2592 33251 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2593 33251 }
2594 else
2595 {
2596 2268027 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2597 }
2598 2301278 }
2599
2600 4771489 break;
2601 }
2602 }
2603 7021670 }
2604
2605
1/2
✓ Branch 0 taken 7021670 times.
✗ Branch 1 not taken.
7021670 if(showcompass)
2606 {
2607
4/4
✓ Branch 0 taken 2567771 times.
✓ Branch 1 taken 4453899 times.
✓ Branch 2 taken 317590 times.
✓ Branch 3 taken 2250181 times.
7021670 if(type==dmDNGN || type==dmCAVE)
2608 {
2609
4/4
✓ Branch 0 taken 4768209 times.
✓ Branch 1 taken 3280 times.
✓ Branch 2 taken 1985636 times.
✓ Branch 3 taken 2782573 times.
4771489 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2610 {
2611 2782573 int32_t c2 = dccolor;
2612
2613
4/4
✓ Branch 0 taken 2551789 times.
✓ Branch 1 taken 230784 times.
✓ Branch 2 taken 1286494 times.
✓ Branch 3 taken 1265295 times.
2782573 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2614 1265295 c2 = lccolor;
2615
2616 2782573 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2617 2782573 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2618 2782573 putdot(dest,cx,cy,c2);
2619 2782573 }
2620 4771489 }
2621 7021670 }
2622
2623
1/2
✓ Branch 0 taken 7021670 times.
✗ Branch 1 not taken.
7021670 if(showhero)
2624 {
2625
4/4
✓ Branch 0 taken 7013830 times.
✓ Branch 1 taken 7840 times.
✓ Branch 2 taken 51 times.
✓ Branch 3 taken 7013779 times.
7021670 if(show_subscreen_dmap_dots && herocolor != 255)
2626 {
2627
2/2
✓ Branch 0 taken 2000187 times.
✓ Branch 1 taken 5013592 times.
7013779 if(type==dmOVERW)
2628 {
2629 2000187 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2630 2000187 }
2631
6/6
✓ Branch 0 taken 4768169 times.
✓ Branch 1 taken 245423 times.
✓ Branch 2 taken 317590 times.
✓ Branch 3 taken 4450579 times.
✓ Branch 4 taken 4554824 times.
✓ Branch 5 taken 213345 times.
5013592 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2632 {
2633 4800247 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2634 4800247 }
2635 7013779 }
2636 7021670 }
2637 7021670 }
2638
2639 6455313 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2640 {
2641
2/2
✓ Branch 0 taken 6446385 times.
✓ Branch 1 taken 8928 times.
6455313 if(!show_subscreen_life)
2642 {
2643 8928 return;
2644 }
2645
2646
2/2
✓ Branch 0 taken 1380667 times.
✓ Branch 1 taken 5065718 times.
6446385 if(!bs_style)
2647 {
2648 5065718 y+=24;
2649 5065718 }
2650 6446385 int32_t tile = 0;
2651 6446385 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2652
2/4
✓ Branch 0 taken 6446385 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6446385 times.
✗ Branch 3 not taken.
6446385 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2653
1/2
✓ Branch 0 taken 6446385 times.
✗ Branch 1 not taken.
6446385 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2654
2655
2/2
✓ Branch 0 taken 6446385 times.
✓ Branch 1 taken 71138744 times.
77585129 for(int32_t i=0; i<max_iter; i+=inc)
2656 {
2657
1/2
✓ Branch 0 taken 71138744 times.
✗ Branch 1 not taken.
71138744 if(game != NULL)
2658 {
2659
2/2
✓ Branch 0 taken 22212507 times.
✓ Branch 1 taken 48926237 times.
71138744 if(get_bit(quest_rules,qr_QUARTERHEART))
2660 {
2661
2/2
✓ Branch 0 taken 18845172 times.
✓ Branch 1 taken 3367335 times.
22212507 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2662
2663
2/2
✓ Branch 0 taken 19077940 times.
✓ Branch 1 taken 3134567 times.
22212507 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2664
2665
2/2
✓ Branch 0 taken 19496098 times.
✓ Branch 1 taken 2716409 times.
22212507 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2666 22212507 }
2667
2/2
✓ Branch 0 taken 37212051 times.
✓ Branch 1 taken 11714186 times.
48926237 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2668
2669
2/2
✓ Branch 0 taken 58270760 times.
✓ Branch 1 taken 12867984 times.
71138744 if(i>=game->get_life()) tile=4;
2670 71138744 }
2671 else
2672 tile=4;
2673
2674 71138744 overtile8(dest,tile,x,y,cs,0);
2675 71138744 x+=8;
2676
2677
2/2
✓ Branch 0 taken 65118865 times.
✓ Branch 1 taken 6019879 times.
71138744 if(((i>>4)&7)==7)
2678 {
2679 6019879 x-=64;
2680 6019879 y+=bs_style?8:-8;
2681 6019879 }
2682 71138744 }
2683 6455313 }
2684
2685 10597082 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2686 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2687 {
2688 //these are here to bypass compiler warnings about unused arguments
2689 10597082 frames=frames;
2690 10597082 speed=speed;
2691 10597082 delay=delay;
2692
2693 // show
2694 // <0: always
2695 // >=0: when drain rate matches show
2696
2/2
✓ Branch 0 taken 9061712 times.
✓ Branch 1 taken 1535370 times.
10597082 if(show > -1)
2697 {
2698
2/2
✓ Branch 0 taken 566357 times.
✓ Branch 1 taken 969013 times.
1535370 if(show != game->get_magicdrainrate())
2699 566357 return;
2700 969013 }
2701
2702 10030725 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2703 10030725 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2704 10030725 bool mod_value=(zc_oldrand()%2)!=0;
2705
2706
2/2
✓ Branch 0 taken 3559346 times.
✓ Branch 1 taken 6471379 times.
10030725 if(container<containers)
2707 {
2708 3559346 tile=notlast_tile;
2709 3559346 cset=notlast_cset;
2710 3559346 mod_value=notlast_mod;
2711 3559346 }
2712
2/2
✓ Branch 0 taken 506575 times.
✓ Branch 1 taken 5964804 times.
6471379 else if(container==containers)
2713 {
2714 506575 tile=last_tile;
2715 506575 cset=last_cset;
2716 506575 mod_value=last_mod;
2717 506575 }
2718
2/2
✓ Branch 0 taken 608488 times.
✓ Branch 1 taken 5356316 times.
5964804 else if(container==containers+1)
2719 {
2720 608488 tile=cap_tile;
2721 608488 cset=cap_cset;
2722 608488 mod_value=cap_mod;
2723 608488 }
2724 else //if (container>containers+1)
2725 {
2726 5356316 tile=aftercap_tile;
2727 5356316 cset=aftercap_cset;
2728 5356316 mod_value=aftercap_mod;
2729 }
2730
2731
2/2
✓ Branch 0 taken 5964804 times.
✓ Branch 1 taken 4065921 times.
10030725 if(mod_value)
2732 {
2733
2/2
✓ Branch 0 taken 3671889 times.
✓ Branch 1 taken 394032 times.
4065921 if(game->get_magic()>=container*game->get_mp_per_block())
2734 {
2735 //tile=tile; //full block
2736
2/2
✓ Branch 0 taken 3405842 times.
✓ Branch 1 taken 266047 times.
3671889 if(game->get_magic()==container*game->get_mp_per_block())
2737 {
2738
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 266047 times.
266047 if(unique_last)
2739 {
2740 tile+=game->get_mp_per_block()+3;
2741 }
2742 266047 }
2743 3671889 }
2744 else
2745 {
2746
2/2
✓ Branch 0 taken 140831 times.
✓ Branch 1 taken 253201 times.
394032 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2747 {
2748 140831 tile+=4; //empty block
2749 140831 }
2750 else
2751 {
2752 253201 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2753 }
2754 }
2755 4065921 }
2756
2757 //tile=14161*4;
2758 10030725 overtile8(dest,tile,x,y,cset,0);
2759
2760 10597082 }
2761
2762 22954720 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2763 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2764 {
2765 //these are here to bypass compiler warnings about unused arguments
2766 22954720 frames=frames;
2767 22954720 speed=speed;
2768 22954720 delay=delay;
2769
2770 22954720 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2771 22954720 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2772 22954720 bool mod_value=(zc_oldrand()%2)!=0;
2773
2774
2/2
✓ Branch 0 taken 6292607 times.
✓ Branch 1 taken 16662113 times.
22954720 if(container<containers)
2775 {
2776 6292607 tile=notlast_tile;
2777 6292607 cset=notlast_cset;
2778 6292607 mod_value=notlast_mod;
2779 6292607 }
2780
2/2
✓ Branch 0 taken 1393989 times.
✓ Branch 1 taken 15268124 times.
16662113 else if(container==containers)
2781 {
2782 1393989 tile=last_tile;
2783 1393989 cset=last_cset;
2784 1393989 mod_value=last_mod;
2785 1393989 }
2786
2/2
✓ Branch 0 taken 1296965 times.
✓ Branch 1 taken 13971159 times.
15268124 else if(container==containers+1)
2787 {
2788 1296965 tile=cap_tile;
2789 1296965 cset=cap_cset;
2790 1296965 mod_value=cap_mod;
2791 1296965 }
2792 else //if (container>containers+1)
2793 {
2794 13971159 tile=aftercap_tile;
2795 13971159 cset=aftercap_cset;
2796 13971159 mod_value=aftercap_mod;
2797 }
2798
2799
2/2
✓ Branch 0 taken 15268124 times.
✓ Branch 1 taken 7686596 times.
22954720 if(mod_value)
2800 {
2801
2/2
✓ Branch 0 taken 6118735 times.
✓ Branch 1 taken 1567861 times.
7686596 if(game->get_life()>=container*game->get_hp_per_heart())
2802 {
2803 //tile=tile; //full block
2804
2/2
✓ Branch 0 taken 5201075 times.
✓ Branch 1 taken 917660 times.
6118735 if(game->get_life()==container*game->get_hp_per_heart())
2805 {
2806
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 917660 times.
917660 if(unique_last)
2807 {
2808 tile+=game->get_hp_per_heart()+3;
2809 }
2810 917660 }
2811 6118735 }
2812 else
2813 {
2814
2/2
✓ Branch 0 taken 990937 times.
✓ Branch 1 taken 576924 times.
1567861 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2815 {
2816 990937 tile+=4; //empty block
2817 990937 }
2818 else
2819 {
2820 576924 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2821 }
2822 }
2823 7686596 }
2824
2825 22954720 overtile8(dest,tile,x,y,cset,0);
2826
2827 22954720 }
2828
2829
2830 1829921 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2831 {
2832
1/2
✓ Branch 0 taken 1829921 times.
✗ Branch 1 not taken.
1829921 if(!get_bit(quest_rules,qr_ENABLEMAGIC)) return;
2833
2834
2/2
✓ Branch 0 taken 1740862 times.
✓ Branch 1 taken 89059 times.
1829921 if(game->get_maxmagic()==0) return;
2835
2836 int32_t tile;
2837 1740862 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2838 1740862 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2839 1740862 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2840
2841
2/2
✓ Branch 0 taken 871195 times.
✓ Branch 1 taken 869667 times.
1740862 if(game->get_magicdrainrate()==1)
2842 {
2843 871195 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2844 871195 }
2845
2846
2/2
✓ Branch 0 taken 4290861 times.
✓ Branch 1 taken 1740862 times.
6031723 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2847 {
2848
2/2
✓ Branch 0 taken 3074765 times.
✓ Branch 1 taken 1216096 times.
4290861 if(game->get_magic()>=i+game->get_mp_per_block())
2849 {
2850 3074765 tile=mmtile*4; //full block
2851 3074765 }
2852 else
2853 {
2854
2/2
✓ Branch 0 taken 251981 times.
✓ Branch 1 taken 964115 times.
1216096 if(i>game->get_magic())
2855 {
2856 251981 tile=((mmtile+1)*4); //empty block
2857 251981 }
2858 else
2859 {
2860 964115 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2861 }
2862 }
2863
2864 4290861 overtile8(dest,tile,x,y,mmcset,0);
2865 4290861 x+=8;
2866 4290861 }
2867
2868 1740862 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2869
2870 1829921 }
2871
2872 17164639 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2873 {
2874
2/2
✓ Branch 0 taken 26784 times.
✓ Branch 1 taken 17137855 times.
17164639 if(!show_subscreen_numbers)
2875 {
2876 26784 return;
2877 }
2878
2879 17137855 int32_t found_digits=5;
2880
2881
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 17137855 times.
17137855 if(num<10000)
2882 {
2883 17137855 found_digits=4;
2884 17137855 }
2885
2886
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 17137855 times.
17137855 if(num<1000)
2887 {
2888 17137855 found_digits=3;
2889 17137855 }
2890
2891
2/2
✓ Branch 0 taken 3653459 times.
✓ Branch 1 taken 13484396 times.
17137855 if(num<100)
2892 {
2893 13484396 found_digits=2;
2894 13484396 }
2895
2896
2/2
✓ Branch 0 taken 7057239 times.
✓ Branch 1 taken 10080616 times.
17137855 if(num<10)
2897 {
2898 10080616 found_digits=1;
2899 10080616 }
2900
2901
2/2
✓ Branch 0 taken 1088842 times.
✓ Branch 1 taken 16049013 times.
17137855 if(infinite)
2902 {
2903 1088842 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2904 1088842 }
2905 else
2906 {
2907
1/2
✓ Branch 0 taken 16049013 times.
✗ Branch 1 not taken.
16049013 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2908 }
2909 17164639 }
2910
2911 /*
2912 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2913 {
2914 rectfill(dest,x,y,x+2,y+2,c);
2915 }
2916 */
2917
2918 /**** Subscr items code ****/
2919
2920 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2921 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2922
2923 101 void reset_subscr_items()
2924 {
2925
2/2
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 71 times.
101 if(Aitem)
2926 {
2927
1/2
✓ Branch 0 taken 71 times.
✗ Branch 1 not taken.
71 delete Aitem;
2928 71 Aitem = NULL;
2929 71 }
2930
2931
2/2
✓ Branch 0 taken 32 times.
✓ Branch 1 taken 69 times.
101 if(Bitem)
2932 {
2933
1/2
✓ Branch 0 taken 69 times.
✗ Branch 1 not taken.
69 delete Bitem;
2934 69 Bitem = NULL;
2935 69 }
2936
2/2
✓ Branch 0 taken 100 times.
✓ Branch 1 taken 1 times.
101 if(Yitem)
2937 {
2938
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Yitem;
2939 1 Yitem = NULL;
2940 1 }
2941
2942
2/2
✓ Branch 0 taken 100 times.
✓ Branch 1 taken 1 times.
101 if(Xitem)
2943 {
2944
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Xitem;
2945 1 Xitem = NULL;
2946 1 }
2947
2948 101 Aid = Bid = Yid = Xid = 0;
2949 101 }
2950
2951
2952 7801062 void update_subscr_items()
2953 {
2954
2/2
✓ Branch 0 taken 7793183 times.
✓ Branch 1 taken 7879 times.
7801062 if(Bid != Bwpn)
2955 {
2956 7879 Bid = 0;
2957
2958
2/2
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 7785 times.
7879 if(Bitem)
2959 {
2960
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7785 times.
7785 delete Bitem;
2961 7785 Bitem = NULL;
2962 7785 }
2963
2964
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 7873 times.
7879 if(Bwpn > 0)
2965 {
2966
4/8
✓ Branch 0 taken 7873 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7873 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 7873 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7873 times.
✗ Branch 7 not taken.
7873 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
2967 7873 Bitem->dummy_bool[0]=false;
2968
2969
2/2
✓ Branch 0 taken 6788 times.
✓ Branch 1 taken 1085 times.
7873 switch(itemsbuf[Bwpn&0x0FFF].family)
2970 {
2971 case itype_arrow:
2972
1/2
✓ Branch 0 taken 1085 times.
✗ Branch 1 not taken.
1085 if((Bwpn&0xF000)==0xF000)
2973 {
2974 Bitem->dummy_bool[0]=true;
2975 }
2976
2977 1085 break;
2978 //default: break;
2979 }
2980
2981 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
2982
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7873 times.
7873 if(Bitem != NULL)
2983 {
2984 7873 Bid = Bwpn;
2985 7873 Bitem->yofs = 0;
2986 7873 Bitem->pickup |= ipDUMMY;
2987 7873 }
2988 7873 }
2989 7879 }
2990
2991
2/2
✓ Branch 0 taken 7800935 times.
✓ Branch 1 taken 127 times.
7801062 if(Aid != Awpn)
2992 {
2993 127 Aid = 0;
2994
2995
2/2
✓ Branch 0 taken 90 times.
✓ Branch 1 taken 37 times.
127 if(Aitem)
2996 {
2997
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 37 times.
37 delete Aitem;
2998 37 Aitem = NULL;
2999 37 }
3000
3001
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 127 times.
127 if(Awpn > 0)
3002 {
3003
4/8
✓ Branch 0 taken 127 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 127 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 127 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 127 times.
✗ Branch 7 not taken.
127 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3004
3005
1/2
✓ Branch 0 taken 127 times.
✗ Branch 1 not taken.
127 switch(itemsbuf[Awpn&0x0FFF].family)
3006 {
3007 case itype_arrow:
3008 if((Awpn&0xF000)==0xF000)
3009 {
3010 Aitem->dummy_bool[0]=true;
3011 }
3012
3013 break;
3014 //default: break;
3015 }
3016
3017
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 127 times.
127 if(Aitem != NULL)
3018 {
3019 127 Aid = Awpn;
3020 127 Aitem->yofs = 0;
3021 127 Aitem->pickup |= ipDUMMY;
3022 127 }
3023 127 }
3024 127 }
3025
3026
2/2
✓ Branch 0 taken 7801052 times.
✓ Branch 1 taken 10 times.
7801062 if(Xid != Xwpn)
3027 {
3028 10 Xid = 0;
3029
3030
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 4 times.
10 if(Xitem)
3031 {
3032
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 delete Xitem;
3033 4 Xitem = NULL;
3034 4 }
3035
3036
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6 times.
10 if(Xwpn > 0)
3037 {
3038
4/8
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
6 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3039
3040
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 switch(itemsbuf[Xwpn&0x0FFF].family)
3041 {
3042 case itype_arrow:
3043 if((Xwpn&0xF000)==0xF000)
3044 {
3045 Xitem->dummy_bool[0]=true;
3046 }
3047
3048 break;
3049 //default: break;
3050 }
3051
3052
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
6 if(Xitem != NULL)
3053 {
3054 6 Xid = Xwpn;
3055 6 Xitem->yofs = 0;
3056 6 Xitem->pickup |= ipDUMMY;
3057 6 }
3058 6 }
3059 10 }
3060
3061
2/2
✓ Branch 0 taken 7801043 times.
✓ Branch 1 taken 19 times.
7801062 if(Yid != Ywpn)
3062 {
3063 19 Yid = 0;
3064
3065
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 14 times.
19 if(Yitem)
3066 {
3067
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14 times.
14 delete Yitem;
3068 14 Yitem = NULL;
3069 14 }
3070
3071
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 16 times.
19 if(Ywpn > 0)
3072 {
3073
4/8
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 16 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
16 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3074
3075
1/2
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
16 switch(itemsbuf[Ywpn&0x0FFF].family)
3076 {
3077 case itype_arrow:
3078 if((Ywpn&0xF000)==0xF000)
3079 {
3080 Yitem->dummy_bool[0]=true;
3081 }
3082
3083 break;
3084 //default: break;
3085 }
3086
3087
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
16 if(Yitem != NULL)
3088 {
3089 16 Yid = Ywpn;
3090 16 Yitem->yofs = 0;
3091 16 Yitem->pickup |= ipDUMMY;
3092 16 }
3093 16 }
3094 19 }
3095
3096
2/2
✓ Branch 0 taken 321867 times.
✓ Branch 1 taken 7479195 times.
7801062 if(Bitem)
3097 7479195 Bitem->animate(0);
3098
3099
2/2
✓ Branch 0 taken 310156 times.
✓ Branch 1 taken 7490906 times.
7801062 if(Aitem)
3100 7490906 Aitem->animate(0);
3101
3102
2/2
✓ Branch 0 taken 7774233 times.
✓ Branch 1 taken 26829 times.
7801062 if(Xitem)
3103 26829 Xitem->animate(0);
3104
3105
2/2
✓ Branch 0 taken 7724826 times.
✓ Branch 1 taken 76236 times.
7801062 if(Yitem)
3106 76236 Yitem->animate(0);
3107 7801062 }
3108
3109 538402 void add_subscr_item(item *newItem)
3110 {
3111 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3112 538402 newItem->subscreenItem=true;
3113 538402 Sitems.add(newItem);
3114 538402 }
3115
3116 /****/
3117 14127602 int32_t stripspaces(char *source, char *target, int32_t stop)
3118 {
3119 int32_t begin, end;
3120
3121
4/4
✓ Branch 0 taken 6884908 times.
✓ Branch 1 taken 82100329 times.
✓ Branch 2 taken 74857635 times.
✓ Branch 3 taken 14127602 times.
88985237 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3122 {
3123 /* do nothing */
3124 74857635 }
3125
3126
2/2
✓ Branch 0 taken 6884908 times.
✓ Branch 1 taken 7242694 times.
14127602 if(begin==stop)
3127 {
3128 6884908 return 0;
3129 }
3130
3131
2/2
✓ Branch 0 taken 16639070 times.
✓ Branch 1 taken 7242694 times.
23881764 for(end=stop-1; source[end]==' '; --end)
3132 {
3133 /* do nothing */
3134 16639070 }
3135
3136 7242694 sprintf(target, "%.*s", (end-begin+1), source+begin);
3137 7242694 return (end-begin+1);
3138 14127602 }
3139
3140 bool findWeaponWithParent(int32_t id, int32_t type)
3141 {
3142 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3143 {
3144 weapon *ew = (weapon*)(Lwpns.spr(q));
3145 if (ew->id != type || ew->parentitem != id) continue;
3146 return true;
3147 }
3148 return false;
3149 }
3150
3151 int32_t countWeaponWithParent(int32_t id, int32_t type)
3152 {
3153 int32_t count = 0;
3154 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3155 {
3156 weapon *ew = (weapon*)(Lwpns.spr(q));
3157 if (ew->id != type || ew->parentitem != id) continue;
3158 ++count;
3159 }
3160 return count;
3161 }
3162
3163 // The conditions on which a subcreen item should be displayed.
3164 3764725 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3165 {
3166
1/2
✓ Branch 0 taken 3764725 times.
✗ Branch 1 not taken.
3764725 if(game==NULL) //ZQuest
3167 return true;
3168
2/2
✓ Branch 0 taken 176356 times.
✓ Branch 1 taken 3588369 times.
3764725 if (get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3169 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3170 //current item id is referring to your highest levelled item instead of the actual item.
3171 //Solution here is to have code for override items.
3172
2/2
✓ Branch 0 taken 1371 times.
✓ Branch 1 taken 3586998 times.
3588369 if (id < 0)
3173 {
3174
2/2
✓ Branch 0 taken 178653 times.
✓ Branch 1 taken 3408345 times.
3586998 if((itemtype == itype_bomb &&
3175 178653 !(game->get_bombs()
3176 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3177
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 177600 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
178653 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3178 1053 || current_item_power(itype_bombbag)))
3179
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 82148 times.
✓ Branch 3 taken 3503797 times.
3586998 || (itemtype == itype_sbomb &&
3180 82148 !(game->get_sbombs()
3181
3/4
✓ Branch 0 taken 24082 times.
✓ Branch 1 taken 58066 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24082 times.
82148 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3182 24082 || (current_item_power(itype_bombbag)
3183
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24082 times.
24082 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3184 25135 return false;
3185
3186
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3561863 times.
3561863 if(itemtype!=itype_bowandarrow ||
3187 d!=itype_arrow ||
3188 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3189 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3190 3561863 return true;
3191
3192 return false;
3193 }
3194 else
3195 {
3196
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if((itemtype == itype_bomb &&
3197 !(game->get_bombs()
3198 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3199 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3200 || current_item_power(itype_bombbag)))
3201
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1371 times.
1371 || (itemtype == itype_sbomb &&
3202 !(game->get_sbombs()
3203 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3204 || (current_item_power(itype_bombbag)
3205 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3206 return false;
3207
3208
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if(itemtype!=itype_bowandarrow ||
3209 d!=itype_arrow ||
3210 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3211 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3212 1371 return true;
3213
3214 return false;
3215 }
3216 3764725 }
3217
3218 324753 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3219 {
3220
3/4
✓ Branch 0 taken 324753 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 324513 times.
✓ Branch 3 taken 240 times.
324753 if(forceItem && (itemtype & 0x8000))
3221 240 return itemtype&0xFFF;
3222 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3223 324513 int32_t overridecheck = 0xFFFF;
3224
3225
2/2
✓ Branch 0 taken 4240823 times.
✓ Branch 1 taken 11206 times.
4252029 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3226 {
3227
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4240823 times.
4240823 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3228 {
3229 if(overridecheck==0xFFFF)
3230 {
3231 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3232 }
3233 }
3234
2/2
✓ Branch 0 taken 11312 times.
✓ Branch 1 taken 4229511 times.
4240823 else if(Sitems.spr(i)->misc!=-1)
3235 {
3236 4229511 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3237
3238
2/2
✓ Branch 0 taken 3921106 times.
✓ Branch 1 taken 308405 times.
4229511 if((d==itemtype)||
3239
6/6
✓ Branch 0 taken 64836 times.
✓ Branch 1 taken 3856270 times.
✓ Branch 2 taken 612 times.
✓ Branch 3 taken 64224 times.
✓ Branch 4 taken 59934 times.
✓ Branch 5 taken 4902 times.
3921106 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3240
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3916204 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
3916204 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3241 {
3242 313307 return Sitems.spr(i)->id;
3243 }
3244 3916204 }
3245 3927516 }
3246
1/2
✓ Branch 0 taken 11206 times.
✗ Branch 1 not taken.
11206 if(forceItem)
3247 {
3248 11206 bool useLowestID = get_bit(quest_rules,qr_SUBSCR_BACKWARDS_ID_ORDER);
3249 11206 int32_t id = -1;
3250
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 125350 times.
125504 for(auto q = 0; q < MAXITEMS; ++q)
3251 {
3252
2/2
✓ Branch 0 taken 114144 times.
✓ Branch 1 taken 11206 times.
125350 if(itemsbuf[q].family == itemtype)
3253 {
3254 11206 id = q;
3255
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 11052 times.
11206 if(useLowestID) break;
3256 154 }
3257 114298 }
3258 11206 return id;
3259 }
3260
3261 //Item Override stuff here
3262 if((itemtype & 0x8000) &&
3263 (!game || game->item[itemtype&0xFFF])
3264 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3265 {
3266 return itemtype&0xFFF;
3267 }
3268 return -1;
3269 324753 }
3270
3271 item* get_subscreenitem(int32_t itemtype)
3272 {
3273 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3274 int32_t overridecheck = 0xFFFF;
3275
3276 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3277 {
3278 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3279 {
3280 if(overridecheck==0xFFFF)
3281 {
3282 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3283 }
3284 }
3285 else if(Sitems.spr(i)->misc!=-1)
3286 {
3287 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3288
3289 if((d==itemtype)||
3290 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3291 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3292 {
3293 return (item*)Sitems.spr(i);
3294 }
3295 }
3296 }
3297
3298 //Item Override stuff here
3299 if((itemtype & 0x8000) &&
3300 (!game || game->item[itemtype&0xFFF])
3301 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3302 {
3303 if(overridecheck == 0xFFFF)
3304 {
3305 overridecheck = Sitems.Count()-1;
3306 }
3307 return (item*)Sitems.spr(overridecheck);
3308 }
3309 return NULL;
3310 }
3311
3312
3313 5666278 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3314 {
3315 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3316 5666278 int32_t overridecheck = 0xFFFF;
3317
3318
2/2
✓ Branch 0 taken 1906187 times.
✓ Branch 1 taken 77527181 times.
79433368 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3319 {
3320
2/2
✓ Branch 0 taken 226774 times.
✓ Branch 1 taken 77300407 times.
77527181 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3321 {
3322
2/2
✓ Branch 0 taken 207578 times.
✓ Branch 1 taken 19196 times.
226774 if(overridecheck==0xFFFF)
3323 {
3324 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3325
3326
4/4
✓ Branch 0 taken 4610 times.
✓ Branch 1 taken 14586 times.
✓ Branch 2 taken 27 times.
✓ Branch 3 taken 4583 times.
19196 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3327 19196 }
3328 226774 }
3329
2/2
✓ Branch 0 taken 201787 times.
✓ Branch 1 taken 77098620 times.
77300407 else if(Sitems.spr(i)->misc!=-1)
3330 {
3331 77098620 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3332
3333
2/2
✓ Branch 0 taken 73496390 times.
✓ Branch 1 taken 3602230 times.
77098620 if((d==itemtype)||
3334
6/6
✓ Branch 0 taken 2389854 times.
✓ Branch 1 taken 71106536 times.
✓ Branch 2 taken 29949 times.
✓ Branch 3 taken 2359905 times.
✓ Branch 4 taken 157861 times.
✓ Branch 5 taken 2231993 times.
73496390 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3335
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 73338529 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
73338529 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3336 {
3337 3760091 Sitems.spr(i)->x = x;
3338 3760091 Sitems.spr(i)->y = y;
3339 3760091 Sitems.spr(i)->yofs=0;
3340
3341
2/2
✓ Branch 0 taken 25135 times.
✓ Branch 1 taken 3734956 times.
3760091 if(displaysubscreenitem(itemtype, d, -1))
3342 {
3343 3734956 Sitems.spr(i)->drawzcboss(dest);
3344 3734956 }
3345
3346
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3760091 times.
3760091 if(itemtype!=itype_bowandarrow)
3347 {
3348 3760091 return;
3349 }
3350 }
3351 73338529 }
3352 73767090 }
3353
3354 //Item Override stuff here
3355
3/4
✓ Branch 0 taken 1900292 times.
✓ Branch 1 taken 5895 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4634 times.
1910821 if((itemtype & 0x8000) &&
3356
3/4
✓ Branch 0 taken 5895 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4634 times.
✓ Branch 3 taken 1261 times.
5895 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3357 4634 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3358 {
3359
2/2
✓ Branch 0 taken 4583 times.
✓ Branch 1 taken 51 times.
4634 if(overridecheck == 0xFFFF)
3360 {
3361 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3362
3363
4/8
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 51 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 51 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 51 times.
✗ Branch 7 not taken.
51 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3364 51 overridecheck = Sitems.Count()-1;
3365 51 Sitems.spr(overridecheck)->misc = -1;
3366 51 }
3367
3368 4634 Sitems.spr(overridecheck)->x = x;
3369 4634 Sitems.spr(overridecheck)->y = y;
3370 4634 Sitems.spr(overridecheck)->yofs=0;
3371 4634 Sitems.spr(overridecheck)->drawzcboss(dest);
3372 4634 }
3373 5666278 }
3374
3375 176983227 int32_t subscreen_color(miscQdata *misc, int32_t c1, int32_t c2)
3376 {
3377 int32_t ret;
3378
3379
3/3
✓ Branch 0 taken 58853711 times.
✓ Branch 1 taken 16040964 times.
✓ Branch 2 taken 102088552 times.
176983227 switch(c1)
3380 {
3381 case ssctSYSTEM:
3382
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16040964 times.
16040964 ret=(c2==-1)?c2:vc(c2);
3383 16040964 break;
3384
3385 case ssctMISC:
3386
9/17
✗ Branch 0 not taken.
✓ Branch 1 taken 36490219 times.
✓ Branch 2 taken 8037518 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 6977325 times.
✓ Branch 10 taken 6977325 times.
✓ Branch 11 taken 36192061 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 45359 times.
✓ Branch 14 taken 14549 times.
✓ Branch 15 taken 181161 times.
✓ Branch 16 taken 7173035 times.
102088552 switch(c2)
3387 {
3388 case ssctTEXT:
3389 36490219 ret=misc->colors.text;
3390 36490219 break;
3391
3392 case ssctCAPTION:
3393 8037518 ret=misc->colors.caption;
3394 8037518 break;
3395
3396 case ssctOVERWBG:
3397 ret=misc->colors.overw_bg;
3398 break;
3399
3400 case ssctDNGNBG:
3401 ret=misc->colors.dngn_bg;
3402 break;
3403
3404 case ssctDNGNFG:
3405 ret=misc->colors.dngn_fg;
3406 break;
3407
3408 case ssctCAVEFG:
3409 ret=misc->colors.cave_fg;
3410 break;
3411
3412 case ssctBSDK:
3413 ret=misc->colors.bs_dk;
3414 break;
3415
3416 case ssctBSGOAL:
3417 ret=misc->colors.bs_goal;
3418 break;
3419
3420 case ssctCOMPASSLT:
3421 6977325 ret=misc->colors.compass_lt;
3422 6977325 break;
3423
3424 case ssctCOMPASSDK:
3425 6977325 ret=misc->colors.compass_dk;
3426 6977325 break;
3427
3428 case ssctSUBSCRBG:
3429 36192061 ret=misc->colors.subscr_bg;
3430 36192061 break;
3431
3432 case ssctSUBSCRSHADOW:
3433 ret=misc->colors.subscr_shadow;
3434 break;
3435
3436 case ssctTRIFRAMECOLOR:
3437 45359 ret=misc->colors.triframe_color;
3438 45359 break;
3439
3440 case ssctBMAPBG:
3441 14549 ret=misc->colors.bmap_bg;
3442 14549 break;
3443
3444 case ssctBMAPFG:
3445 181161 ret=misc->colors.bmap_fg;
3446 181161 break;
3447
3448 case ssctHERODOT:
3449 7173035 ret=misc->colors.hero_dot;
3450 7173035 break;
3451
3452 default:
3453 ret=(zc_oldrand()*1000)%256;
3454 break;
3455 }
3456
3457 102088552 break;
3458
3459 default:
3460 58853711 ret=(c1<<4)+c2;
3461 58853711 }
3462
3463 176983227 return ret;
3464 }
3465
3466
3467
3468 41725555 int32_t subscreen_cset(miscQdata *misc,int32_t c1, int32_t c2)
3469 {
3470 41725555 int32_t ret=c1;
3471
3472
2/2
✓ Branch 0 taken 28462967 times.
✓ Branch 1 taken 13262588 times.
41725555 switch(c1)
3473 {
3474 case ssctMISC:
3475
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 13262588 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
13262588 switch(c2)
3476 {
3477 case sscsTRIFORCECSET:
3478 ret=misc->colors.triforce_cset;
3479 break;
3480
3481 case sscsTRIFRAMECSET:
3482 ret=misc->colors.triframe_cset;
3483 break;
3484
3485 case sscsOVERWORLDMAPCSET:
3486 ret=misc->colors.overworld_map_cset;
3487 break;
3488
3489 case sscsDUNGEONMAPCSET:
3490 ret=misc->colors.dungeon_map_cset;
3491 break;
3492
3493 case sscsBLUEFRAMECSET:
3494 13262588 ret=misc->colors.blueframe_cset;
3495 13262588 break;
3496
3497 case sscsHCPIECESCSET:
3498 ret=misc->colors.HCpieces_cset;
3499 break;
3500
3501 case sscsSSVINECSET:
3502 ret=wpnsbuf[iwSubscreenVine].csets&15;
3503 break;
3504
3505 default:
3506 ret=(zc_oldrand()*1000)%256;
3507 break;
3508 }
3509
3510 13262588 break;
3511
3512 default:
3513 28462967 ret=c1;
3514 28462967 }
3515
3516 41725555 return ret;
3517 }
3518
3519 175588556 int32_t to_real_font(int32_t ss_font)
3520 {
3521
66/66
✓ Branch 0 taken 2213537 times.
✓ Branch 1 taken 1759671 times.
✓ Branch 2 taken 17761073 times.
✓ Branch 3 taken 2852759 times.
✓ Branch 4 taken 2697684 times.
✓ Branch 5 taken 2567308 times.
✓ Branch 6 taken 3617352 times.
✓ Branch 7 taken 91771096 times.
✓ Branch 8 taken 1915636 times.
✓ Branch 9 taken 4387424 times.
✓ Branch 10 taken 3329918 times.
✓ Branch 11 taken 1829776 times.
✓ Branch 12 taken 1892391 times.
✓ Branch 13 taken 1908269 times.
✓ Branch 14 taken 1907669 times.
✓ Branch 15 taken 1909371 times.
✓ Branch 16 taken 1908449 times.
✓ Branch 17 taken 1341683 times.
✓ Branch 18 taken 1263633 times.
✓ Branch 19 taken 1262393 times.
✓ Branch 20 taken 1261641 times.
✓ Branch 21 taken 1262101 times.
✓ Branch 22 taken 1220617 times.
✓ Branch 23 taken 1123069 times.
✓ Branch 24 taken 723137 times.
✓ Branch 25 taken 723529 times.
✓ Branch 26 taken 899873 times.
✓ Branch 27 taken 821305 times.
✓ Branch 28 taken 698637 times.
✓ Branch 29 taken 698509 times.
✓ Branch 30 taken 698046 times.
✓ Branch 31 taken 698169 times.
✓ Branch 32 taken 554503 times.
✓ Branch 33 taken 554644 times.
✓ Branch 34 taken 473244 times.
✓ Branch 35 taken 462659 times.
✓ Branch 36 taken 362533 times.
✓ Branch 37 taken 385887 times.
✓ Branch 38 taken 363507 times.
✓ Branch 39 taken 362240 times.
✓ Branch 40 taken 362169 times.
✓ Branch 41 taken 362987 times.
✓ Branch 42 taken 362380 times.
✓ Branch 43 taken 362305 times.
✓ Branch 44 taken 564147 times.
✓ Branch 45 taken 362840 times.
✓ Branch 46 taken 362737 times.
✓ Branch 47 taken 475611 times.
✓ Branch 48 taken 385136 times.
✓ Branch 49 taken 385364 times.
✓ Branch 50 taken 385444 times.
✓ Branch 51 taken 386540 times.
✓ Branch 52 taken 385453 times.
✓ Branch 53 taken 400865 times.
✓ Branch 54 taken 386391 times.
✓ Branch 55 taken 385807 times.
✓ Branch 56 taken 384635 times.
✓ Branch 57 taken 398716 times.
✓ Branch 58 taken 385801 times.
✓ Branch 59 taken 386586 times.
✓ Branch 60 taken 385880 times.
✓ Branch 61 taken 385493 times.
✓ Branch 62 taken 386062 times.
✓ Branch 63 taken 384639 times.
✓ Branch 64 taken 386994 times.
✓ Branch 65 taken 1342632 times.
175588556 switch(ss_font)
3522 {
3523 2213537 case ssfSMALL: return font_sfont;
3524 1759671 case ssfSMALLPROP: return font_spfont;
3525 17761073 case ssfSS1: return font_ssfont1;
3526 2852759 case ssfSS2: return font_ssfont2;
3527 2697684 case ssfSS3: return font_ssfont3;
3528 2567308 case ssfSS4: return font_ssfont4;
3529 3617352 case ssfZTIME: return font_ztfont;
3530 91771096 case ssfZELDA: return font_zfont;
3531 1915636 case ssfZ3: return font_z3font;
3532 4387424 case ssfZ3SMALL: return font_z3smallfont;
3533 3329918 case ssfGBLA: return font_gblafont;
3534 1829776 case ssfGORON: return font_goronfont;
3535 1892391 case ssfZORAN: return font_zoranfont;
3536 1908269 case ssfHYLIAN1: return font_hylian1font;
3537 1907669 case ssfHYLIAN2: return font_hylian2font;
3538 1909371 case ssfHYLIAN3: return font_hylian3font;
3539 1908449 case ssfHYLIAN4: return font_hylian4font;
3540 1341683 case ssfGBORACLE: return font_gboraclefont;
3541 1263633 case ssfGBORACLEP: return font_gboraclepfont;
3542 1262393 case ssfDSPHANTOM: return font_dsphantomfont;
3543 1261641 case ssfDSPHANTOMP: return font_dsphantompfont;
3544 1262101 case ssfAT800: return font_atari800font;
3545 1220617 case ssfACORN: return font_acornfont;
3546 1123069 case ssADOS: return font_adosfont;
3547 723137 case ssfALLEG: return font_baseallegrofont;
3548 723529 case ssfAPL2: return font_apple2font;
3549 899873 case ssfAPL280: return font_apple280colfont;
3550 821305 case ssfAPL2GS: return font_apple2gsfont;
3551 698637 case ssfAQUA: return font_aquariusfont;
3552 698509 case ssfAT400: return font_atari400font;
3553 698046 case ssfC64: return font_c64font;
3554 698169 case ssfC64HR: return font_c64hiresfont;
3555 554503 case ssfCGA: return font_cgafont;
3556 554644 case ssfCOCO: return font_cocofont;
3557 473244 case ssfCOCO2: return font_coco2font;
3558 462659 case ssfCOUPE: return font_coupefont;
3559 362533 case ssfCPC: return font_cpcfont;
3560 385887 case ssfFANTASY: return font_fantasyfont;
3561 363507 case ssfFDSKANA: return font_fdskanafont;
3562 362240 case ssfFDSLIKE: return font_fdslikefont;
3563 362169 case ssfFDSROM: return font_fdsromanfont;
3564 362987 case ssfFF: return font_finalffont;
3565 362380 case ssfFUTHARK: return font_futharkfont;
3566 362305 case ssfGAIA: return font_gaiafont;
3567 564147 case ssfHIRA: return font_hirafont;
3568 362840 case ssfJP: return font_jpfont;
3569 362737 case ssfKONG: return font_kongfont;
3570 475611 case ssfMANA: return font_manafont;
3571 385136 case ssfML: return font_mlfont;
3572 385364 case ssfMOT: return font_motfont;
3573 385444 case ssfMSX0: return font_msxmode0font;
3574 386540 case ssfMSX1: return font_msxmode1font;
3575 385453 case ssfPET: return font_petfont;
3576 400865 case ssfPSTART: return font_pstartfont;
3577 386391 case ssfSATURN: return font_saturnfont;
3578 385807 case ssfSCIFI: return font_scififont;
3579 384635 case ssfSHERW: return font_sherwoodfont;
3580 398716 case ssfSINQL: return font_sinqlfont;
3581 385801 case ssfSPEC: return font_spectrumfont;
3582 386586 case ssfSPECLG: return font_speclgfont;
3583 385880 case ssfTI99: return font_ti99font;
3584 385493 case ssfTRS: return font_trsfont;
3585 386062 case ssfZ2: return font_z2font;
3586 384639 case ssfZX: return font_zxfont;
3587 386994 case ssfLISA: return font_lisafont;
3588 }
3589 1342632 return font_zfont;
3590 175588556 }
3591 int32_t to_ss_font(int32_t real_font)
3592 {
3593 switch(real_font)
3594 {
3595 case font_sfont: return ssfSMALL;
3596 case font_spfont: return ssfSMALLPROP;
3597 case font_ssfont1: return ssfSS1;
3598 case font_ssfont2: return ssfSS2;
3599 case font_ssfont3: return ssfSS3;
3600 case font_ssfont4: return ssfSS4;
3601 case font_ztfont: return ssfZTIME;
3602 case font_zfont: return ssfZELDA;
3603 case font_z3font: return ssfZ3;
3604 case font_z3smallfont: return ssfZ3SMALL;
3605 case font_gblafont: return ssfGBLA;
3606 case font_goronfont: return ssfGORON;
3607 case font_zoranfont: return ssfZORAN;
3608 case font_hylian1font: return ssfHYLIAN1;
3609 case font_hylian2font: return ssfHYLIAN2;
3610 case font_hylian3font: return ssfHYLIAN3;
3611 case font_hylian4font: return ssfHYLIAN4;
3612 case font_gboraclefont: return ssfGBORACLE;
3613 case font_gboraclepfont: return ssfGBORACLEP;
3614 case font_dsphantomfont: return ssfDSPHANTOM;
3615 case font_dsphantompfont: return ssfDSPHANTOMP;
3616 case font_atari800font: return ssfAT800;
3617 case font_acornfont: return ssfACORN;
3618 case font_adosfont: return ssADOS;
3619 case font_baseallegrofont: return ssfALLEG;
3620 case font_apple2font: return ssfAPL2;
3621 case font_apple280colfont: return ssfAPL280;
3622 case font_apple2gsfont: return ssfAPL2GS;
3623 case font_aquariusfont: return ssfAQUA;
3624 case font_atari400font: return ssfAT400;
3625 case font_c64font: return ssfC64;
3626 case font_c64hiresfont: return ssfC64HR;
3627 case font_cgafont: return ssfCGA;
3628 case font_cocofont: return ssfCOCO;
3629 case font_coco2font: return ssfCOCO2;
3630 case font_coupefont: return ssfCOUPE;
3631 case font_cpcfont: return ssfCPC;
3632 case font_fantasyfont: return ssfFANTASY;
3633 case font_fdskanafont: return ssfFDSKANA;
3634 case font_fdslikefont: return ssfFDSLIKE;
3635 case font_fdsromanfont: return ssfFDSROM;
3636 case font_finalffont: return ssfFF;
3637 case font_futharkfont: return ssfFUTHARK;
3638 case font_gaiafont: return ssfGAIA;
3639 case font_hirafont: return ssfHIRA;
3640 case font_jpfont: return ssfJP;
3641 case font_kongfont: return ssfKONG;
3642 case font_manafont: return ssfMANA;
3643 case font_mlfont: return ssfML;
3644 case font_motfont: return ssfMOT;
3645 case font_msxmode0font: return ssfMSX0;
3646 case font_msxmode1font: return ssfMSX1;
3647 case font_petfont: return ssfPET;
3648 case font_pstartfont: return ssfPSTART;
3649 case font_saturnfont: return ssfSATURN;
3650 case font_scififont: return ssfSCIFI;
3651 case font_sherwoodfont: return ssfSHERW;
3652 case font_sinqlfont: return ssfSINQL;
3653 case font_spectrumfont: return ssfSPEC;
3654 case font_speclgfont: return ssfSPECLG;
3655 case font_ti99font: return ssfTI99;
3656 case font_trsfont: return ssfTRS;
3657 case font_z2font: return ssfZ2;
3658 case font_zxfont: return ssfZX;
3659 case font_lisafont: return ssfLISA;
3660 }
3661 return ssfZELDA;
3662 }
3663
3664 175588556 FONT *ss_font(int32_t fontnum)
3665 {
3666
2/2
✓ Branch 0 taken 151636998 times.
✓ Branch 1 taken 23951558 times.
175588556 if(unsigned(fontnum) >= ssfMAX)
3667 23951558 fontnum=zc_oldrand()%ssfMAX;
3668
3669 175588556 return get_zc_font(to_real_font(fontnum));
3670 }
3671 item *sel_a=NULL, *sel_b=NULL;
3672
3673
3674 749 void delete_selectors()
3675 {
3676
2/2
✓ Branch 0 taken 33 times.
✓ Branch 1 taken 716 times.
749 if(sel_a)
3677 {
3678
1/2
✓ Branch 0 taken 716 times.
✗ Branch 1 not taken.
716 delete sel_a;
3679 716 sel_a=NULL;
3680 716 }
3681
3682
2/2
✓ Branch 0 taken 33 times.
✓ Branch 1 taken 716 times.
749 if(sel_b)
3683 {
3684
1/2
✓ Branch 0 taken 716 times.
✗ Branch 1 not taken.
716 delete sel_b;
3685 716 sel_b=NULL;
3686 716 }
3687 749 }
3688
3689
3690 207577 void animate_selectors()
3691 {
3692
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 749 times.
207577 if(new_sel)
3693 {
3694 749 delete_selectors();
3695 749 new_sel = false;
3696 749 }
3697
3698
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 749 times.
207577 if(!sel_a)
3699
4/8
✓ Branch 0 taken 749 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 749 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 749 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 749 times.
✗ Branch 7 not taken.
749 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3700
3701
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 749 times.
207577 if(!sel_b)
3702
4/8
✓ Branch 0 taken 749 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 749 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 749 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 749 times.
✗ Branch 7 not taken.
749 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3703
3704 207577 sel_a->yofs=0;
3705 207577 sel_a->subscreenItem=true;
3706 207577 sel_a->animate(0);
3707 207577 sel_b->yofs=0;
3708 207577 sel_b->subscreenItem=true;
3709 207577 sel_b->animate(0);
3710 207577 }
3711
3712 7971710 void show_custom_subscreen(BITMAP *dest, miscQdata *misc, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3713 {
3714 //this is not a good place to be clearing the bitmap
3715 //other stuff might already have been drawn on it that needs to be kept
3716 //(eg the game screen when pulling down the subscreen) -DD
3717 //clear_to_color(dest, 0);
3718 7971710 color_map=&trans_table;
3719 7971710 set_trans_blender(0, 0, 0, 128);
3720
3721 //doing animation here leads to 2x speed when drawing both active and passive subscreen -DD
3722 /*static item sel_a((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3723 static item sel_b((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3724 if (new_sel)
3725 {
3726 sel_a=item((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3727 sel_b=item((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3728 new_sel=false;
3729 }
3730 sel_a.yofs=0;
3731 sel_a.animate(0);
3732 sel_b.yofs=0;
3733 sel_b.animate(0);*/
3734
3/4
✓ Branch 0 taken 7971677 times.
✓ Branch 1 taken 33 times.
✓ Branch 2 taken 7971677 times.
✗ Branch 3 not taken.
7971710 if(!sel_a || !sel_b)
3735 33 animate_selectors();
3736
3737
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 184328783 times.
✓ Branch 2 taken 176357073 times.
✓ Branch 3 taken 7971710 times.
184328783 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3738 {
3739
2/2
✓ Branch 0 taken 768517 times.
✓ Branch 1 taken 175588556 times.
176357073 if((css->objects[i].pos & pos2) != 0)
3740 {
3741 175588556 FONT *tempfont=get_zc_font(font_zfont);
3742 175588556 int32_t fontnum=css->objects[i].d1;
3743 175588556 tempfont=ss_font(fontnum);
3744 175588556 int32_t x=css->objects[i].x+xofs;
3745 175588556 int32_t y=css->objects[i].y+yofs;
3746
3747
22/26
✓ Branch 0 taken 6435376 times.
✓ Branch 1 taken 324753 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 15348621 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 22593698 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 379372 times.
✓ Branch 8 taken 1829921 times.
✓ Branch 9 taken 6455313 times.
✓ Branch 10 taken 15360103 times.
✓ Branch 11 taken 5074646 times.
✓ Branch 12 taken 14332184 times.
✓ Branch 13 taken 7063801 times.
✓ Branch 14 taken 7021670 times.
✓ Branch 15 taken 195710 times.
✓ Branch 16 taken 7265795 times.
✓ Branch 17 taken 5880524 times.
✓ Branch 18 taken 64020 times.
✓ Branch 19 taken 645 times.
✓ Branch 20 taken 33668 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 13084272 times.
✓ Branch 23 taken 13292662 times.
✓ Branch 24 taken 10597082 times.
✓ Branch 25 taken 22954720 times.
175588556 switch(css->objects[i].type)
3748 {
3749 case sso2X2FRAME:
3750 {
3751 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3752 //in 1.92 and earlier, the 2x2 frame object was tile 278
3753 15348621 frame2x2(dest, misc, x, y, css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3754 //frame2x2(dest, misc, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3755 }
3756 15348621 break;
3757
3758 case ssoBSTIME:
3759 {
3760 char *ts;
3761
3762 if(game)
3763 ts = time_str_short2(game->get_time());
3764 else
3765 ts = time_str_short2(0);
3766
3767 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3768 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3769 }
3770 break;
3771
3772 case ssoSSTIME:
3773 case ssoTIME:
3774 {
3775
3/4
✓ Branch 0 taken 6435376 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15980 times.
✓ Branch 3 taken 6419396 times.
6435376 if(showtime||css->objects[i].type==ssoTIME)
3776 {
3777 char *ts;
3778
3779
1/2
✓ Branch 0 taken 15980 times.
✗ Branch 1 not taken.
15980 if(game)
3780 15980 ts = time_str_med(game->get_time());
3781 else
3782 ts = time_str_med(0);
3783
3784 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3785 15980 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3786 15980 }
3787 }
3788 6435376 break;
3789
3790 case ssoTEXT:
3791 {
3792 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3793 22593698 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3794 }
3795 22593698 break;
3796
3797 case ssoLINE:
3798 {
3799 if(css->objects[i].d4)
3800 {
3801 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3802 }
3803
3804 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3805
3806 if(css->objects[i].d4)
3807 {
3808 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3809 }
3810 }
3811 break;
3812
3813 case ssoRECT:
3814 {
3815
1/2
✓ Branch 0 taken 379372 times.
✗ Branch 1 not taken.
379372 if(css->objects[i].d2)
3816 {
3817 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3818 }
3819
3820
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 379372 times.
379372 if(css->objects[i].d1!=0)
3821 {
3822 379372 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3823 379372 }
3824
3825 379372 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3826
3827
1/2
✓ Branch 0 taken 379372 times.
✗ Branch 1 not taken.
379372 if(css->objects[i].d2)
3828 {
3829 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3830 }
3831 }
3832 379372 break;
3833
3834 case ssoMAGICMETER:
3835 {
3836 1829921 magicmeter(dest, x, y);
3837 }
3838 1829921 break;
3839
3840 case ssoLIFEMETER:
3841 {
3842 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
3843 6455313 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
3844 }
3845 6455313 break;
3846
3847 case ssoBUTTONITEM:
3848 {
3849
1/2
✓ Branch 0 taken 15360103 times.
✗ Branch 1 not taken.
15360103 if(css->objects[i].d2)
3850 {
3851 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3852 }
3853 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
3854 15360103 buttonitem(dest, css->objects[i].d1, x, y);
3855
3856
1/2
✓ Branch 0 taken 15360103 times.
✗ Branch 1 not taken.
15360103 if(css->objects[i].d2)
3857 {
3858 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3859 }
3860 }
3861 15360103 break;
3862
3863 case ssoCOUNTERS:
3864 {
3865 5074646 defaultcounters(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
3866 }
3867 5074646 break;
3868
3869 case ssoCOUNTER:
3870 {
3871 14332184 counter(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
3872 }
3873 14332184 break;
3874
3875 case ssoMINIMAPTITLE:
3876 {
3877
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 7063801 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
7063801 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
3878 {
3879 7063801 minimaptitle(dest, x, y, tempfont, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
3880 7063801 }
3881 }
3882 7063801 break;
3883
3884 case ssoMINIMAP:
3885 {
3886 //drawdmap(dest, misc, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
3887
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7021670 times.
14043340 drawdmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
3888
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7021670 times.
7021670 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3889 }
3890 7021670 break;
3891
3892 case ssoLARGEMAP:
3893 {
3894 //putBmap(dest, misc, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
3895 195710 putBmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
3896 }
3897 195710 break;
3898
3899 case ssoCLEAR:
3900 {
3901 7265795 clear_to_color(dest,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3902 }
3903 7265795 break;
3904
3905 case ssoCURRENTITEM:
3906 {
3907 // Shouldn't really be checking is_zquest here, but it's okay for now...
3908
3/6
✓ Branch 0 taken 214246 times.
✓ Branch 1 taken 5666278 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 214246 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
5880524 if(css->objects[i].d2 || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)!=0))
3909 {
3910
2/2
✓ Branch 0 taken 5895 times.
✓ Branch 1 taken 5660383 times.
5666278 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
3911 5666278 }
3912 }
3913 5880524 break;
3914
3915 case ssoTEXTBOX:
3916 {
3917 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
3918 64020 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3919 //draw_textbox(dest, 0, 0, 200, 50, get_zc_font(font_sfont), "This is a test", 1, 4, 0, 0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3920 }
3921 64020 break;
3922
3923 case ssoSELECTEDITEMNAME:
3924 {
3925 645 int32_t itemid=Bweapon(Bpos);
3926
3927 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
3928
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(itemid>=0xF000)
3929 itemid-=0xF000;
3930
3931 // 0 can mean either the item with index 0 is selected or there's no
3932 // valid item to select, so be sure Hero has whatever it would be.
3933
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(!game->get_item(itemid))
3934 break;
3935
3936 645 itemdata const& itm = itemsbuf[itemid];
3937 645 char itemname[256]="";
3938 645 strncpy(itemname, itm.get_name().c_str(), 255);
3939
3940 645 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3941 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
3942 }
3943 645 break;
3944
3945 case ssoTRIFRAME:
3946 {
3947 //puttriframe(dest, misc, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
3948 33668 puttriframe(dest, misc, x, y, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
3949 }
3950 33668 break;
3951
3952 case ssoTRIFORCE:
3953 {
3954 puttriforce(dest,misc,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
3955 }
3956 break;
3957
3958 case ssoTILEBLOCK:
3959 {
3960 13084272 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
3961 }
3962 13084272 break;
3963
3964 case ssoMINITILE:
3965 {
3966 13292662 int32_t t=css->objects[i].d1;
3967
3968
1/2
✓ Branch 0 taken 13292662 times.
✗ Branch 1 not taken.
13292662 if(t==-1)
3969 {
3970 switch(css->objects[i].d2)
3971 {
3972 case ssmstSSVINETILE:
3973 t=wpnsbuf[iwSubscreenVine].tile*4;
3974 break;
3975
3976 case ssmstMAGICMETER:
3977 t=wpnsbuf[iwMMeter].tile*4;
3978 break;
3979
3980 default:
3981 t=(zc_oldrand()*100000)%32767;
3982 break;
3983 }
3984 }
3985
3986 13292662 t+=css->objects[i].d3;
3987
3988
2/2
✓ Branch 0 taken 9805830 times.
✓ Branch 1 taken 3486832 times.
13292662 if(css->objects[i].d5)
3989 {
3990
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9805830 times.
9805830 if(css->objects[i].d6)
3991 {
3992 overtiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
3993 }
3994 else
3995 {
3996 9805830 overtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
3997 }
3998 9805830 }
3999 else
4000 {
4001
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3486832 times.
3486832 if(css->objects[i].d6)
4002 {
4003 puttiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4004 }
4005 else
4006 {
4007 3486832 oldputtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4008 }
4009 }
4010 }
4011 13292662 break;
4012
4013 case ssoSELECTOR1:
4014 case ssoSELECTOR2:
4015 {
4016 324753 int32_t p=-1;
4017
4018
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 9360156 times.
✓ Branch 2 taken 498 times.
✓ Branch 3 taken 9359658 times.
9360156 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4019 {
4020
2/2
✓ Branch 0 taken 2614271 times.
✓ Branch 1 taken 6745387 times.
9359658 if(css->objects[j].type==ssoCURRENTITEM)
4021 {
4022
2/2
✓ Branch 0 taken 6421132 times.
✓ Branch 1 taken 324255 times.
6745387 if(css->objects[j].d3==(int32_t)Bpos)
4023 {
4024 324255 p=j;
4025 324255 break;
4026 }
4027 6421132 }
4028 9035403 }
4029
4030 324753 bool big_sel=css->objects[i].d5 != 0;
4031
2/2
✓ Branch 0 taken 207046 times.
✓ Branch 1 taken 117707 times.
324753 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4032 324753 int32_t temptile=tempsel->tile;
4033 324753 tempsel->drawstyle=0;
4034
4035
1/2
✓ Branch 0 taken 324753 times.
✗ Branch 1 not taken.
324753 if(css->objects[i].d4)
4036 {
4037 tempsel->drawstyle=1;
4038 }
4039
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 324513 times.
324753 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4040 324753 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4041 324753 bool oldsel = get_bit(quest_rules, qr_SUBSCR_OLD_SELECTOR);
4042
2/2
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
324753 if(!oldsel) big_sel = false;
4043
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hxsz : 16),
4044
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hysz : 16),
4045
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4046
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4047
3/4
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
324753 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4048
3/4
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
324753 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4049
6/8
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
324753 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4050
6/8
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
324753 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4051 324753 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4052
2/2
✓ Branch 0 taken 498 times.
✓ Branch 1 taken 326247 times.
326745 for(int32_t j=0; j<4; ++j)
4053 {
4054 326247 clear_bitmap(tmpbmp);
4055
2/2
✓ Branch 0 taken 1992 times.
✓ Branch 1 taken 324255 times.
326247 if(p!=-1)
4056 {
4057 324255 tempsel->x=0;
4058 324255 tempsel->y=0;
4059
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4060
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4061
2/2
✓ Branch 0 taken 144758 times.
✓ Branch 1 taken 179497 times.
324255 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4062
4063
2/2
✓ Branch 0 taken 94232 times.
✓ Branch 1 taken 230023 times.
324255 if(temptile)
4064 {
4065 230023 tempsel->drawzcboss(tmpbmp);
4066 230023 tempsel->tile=temptile;
4067 230023 }
4068 324255 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4069
4070
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 if(!big_sel)
4071 {
4072 324255 break;
4073 }
4074 }
4075 1992 }
4076 324753 destroy_bitmap(tmpbmp);
4077 }
4078 324753 break;
4079
4080 case ssoMAGICGAUGE:
4081 {
4082 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4083 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4084 // int32_t show)
4085 21194164 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4086 10597082 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4087 10597082 css->objects[i].d9);
4088 }
4089 10597082 break;
4090
4091 case ssoLIFEGAUGE:
4092 {
4093 45909440 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4094 22954720 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4095 }
4096 22954720 break;
4097
4098 default:
4099 {
4100 }
4101 break;
4102 }
4103
4104 //sso_bounding_box(dest, css, i, vc(15));
4105 175588556 }
4106 176357073 }
4107 7971710 }
4108
4109 std::string get_subscr_arrow_name(int itemid)
4110 {
4111 char itemname[256]="";
4112 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
4113 {
4114 if(current_item_id(itype_bow)>-1)
4115 {
4116 bool hasarrows=checkmagiccost(itemid);
4117 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
4118 }
4119 }
4120 return std::string(itemname);
4121 }
4122
4123 15360103 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4124 {
4125
4/5
✗ Branch 0 not taken.
✓ Branch 1 taken 7594511 times.
✓ Branch 2 taken 7596742 times.
✓ Branch 3 taken 84425 times.
✓ Branch 4 taken 84425 times.
15360103 switch(button)
4126 {
4127 case 0: //A button
4128
4/4
✓ Branch 0 taken 7461490 times.
✓ Branch 1 taken 133021 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 7451560 times.
7594511 if(Aitem&&show_subscreen_items)
4129 {
4130 7451560 Aitem->x=x;
4131 7451560 Aitem->y=y;
4132
4133
1/2
✓ Branch 0 taken 7451560 times.
✗ Branch 1 not taken.
7451560 switch(itemsbuf[Aitem->id].family)
4134 {
4135 case itype_arrow:
4136 if(Aitem->dummy_bool[0]==true)
4137 {
4138 if(current_item_id(itype_bow)>-1)
4139 {
4140 subscreenitem(dest, x, y, itype_bow);
4141 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4142 if(!checkmagiccost(Aitem->id)) return;
4143 }
4144 }
4145
4146 break;
4147 }
4148
4149 7451560 Aitem->drawzcboss(dest);
4150 7451560 }
4151
4152 7594511 break;
4153
4154 case 1: //B button
4155
4/4
✓ Branch 0 taken 7303325 times.
✓ Branch 1 taken 293417 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 7293395 times.
7596742 if(Bitem&&show_subscreen_items)
4156 {
4157 7293395 Bitem->x=x;
4158 7293395 Bitem->y=y;
4159
4160
2/2
✓ Branch 0 taken 7003806 times.
✓ Branch 1 taken 289589 times.
7293395 switch(itemsbuf[Bitem->id].family)
4161 {
4162 case itype_arrow:
4163
2/4
✓ Branch 0 taken 289589 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 289589 times.
✗ Branch 3 not taken.
289589 if(Bitem && Bitem->dummy_bool[0]==true)
4164 {
4165 if(current_item_id(itype_bow)>-1)
4166 {
4167 subscreenitem(dest, x, y, itype_bow);
4168 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4169 if(!checkmagiccost(Bitem->id)) return;
4170 }
4171 }
4172
4173 289589 break;
4174 }
4175
4176 7293395 Bitem->drawzcboss(dest);
4177 7293395 }
4178
4179 7596742 break;
4180
4181 case 2: //X button
4182
3/4
✓ Branch 0 taken 23307 times.
✓ Branch 1 taken 61118 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23307 times.
84425 if(Xitem&&show_subscreen_items)
4183 {
4184 //Y button
4185 //zprint2("Drawing X Item\n");
4186 23307 Xitem->x=x;
4187 23307 Xitem->y=y;
4188
4189
1/2
✓ Branch 0 taken 23307 times.
✗ Branch 1 not taken.
23307 switch(itemsbuf[Xitem->id].family)
4190 {
4191 case itype_arrow:
4192 if(Xitem && Xitem->dummy_bool[0]==true)
4193 {
4194 if(current_item_id(itype_bow)>-1)
4195 {
4196 subscreenitem(dest, x, y, itype_bow);
4197 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4198 if(!checkmagiccost(Xitem->id)) return;
4199 }
4200 }
4201
4202 break;
4203 }
4204
4205 23307 Xitem->drawzcboss(dest);
4206 23307 }
4207 //else zprint2("Xitem is NULL\n");
4208
4209 84425 break;
4210
4211 case 3:
4212
3/4
✓ Branch 0 taken 71047 times.
✓ Branch 1 taken 13378 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71047 times.
84425 if(Yitem&&show_subscreen_items)
4213 {
4214 //Y button
4215 //zprint2("Drawing Y Item\n");
4216 71047 Yitem->x=x;
4217 71047 Yitem->y=y;
4218
4219
1/2
✓ Branch 0 taken 71047 times.
✗ Branch 1 not taken.
71047 switch(itemsbuf[Yitem->id].family)
4220 {
4221 case itype_arrow:
4222 if(Yitem && Yitem->dummy_bool[0]==true)
4223 {
4224 if(current_item_id(itype_bow)>-1)
4225 {
4226 subscreenitem(dest, x, y, itype_bow);
4227 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4228 if(!checkmagiccost(Yitem->id)) return;
4229 }
4230 }
4231
4232 break;
4233 }
4234
4235 71047 Yitem->drawzcboss(dest);
4236 71047 }
4237 //else zprint2("Yitem is NULL\n");
4238
4239 84425 break;
4240
4241 default:
4242 break;
4243 }
4244 15360103 }
4245
4246 5074646 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4247 {
4248
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5074646 times.
✓ Branch 2 taken 3131305 times.
✓ Branch 3 taken 1943341 times.
5074646 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4249
4250 //88, 16
4251 5074646 overtile8(dest,5,x,y,1,0);
4252 5074646 overtile8(dest,8,x,y+16-yofs,1,0);
4253 5074646 overtile8(dest,9,x,y+24-yofs,0,0);
4254
4255
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5074646 times.
5074646 if(game)
4256 {
4257 5074646 bool magickey = false;
4258 5074646 int32_t itemid = current_item_id(itype_magickey);
4259
4260
2/2
✓ Branch 0 taken 3985310 times.
✓ Branch 1 taken 1089336 times.
5074646 if(itemid>-1)
4261 {
4262
1/2
✓ Branch 0 taken 1089336 times.
✗ Branch 1 not taken.
1089336 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4263 1089336 magickey = itemsbuf[itemid].power>=get_dlevel();
4264 else
4265 magickey = itemsbuf[itemid].power==get_dlevel();
4266 1089336 }
4267
4268 5074646 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4269 5074646 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4270 5074646 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4271 5074646 }
4272
4273
5/6
✓ Branch 0 taken 5074646 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1943341 times.
✓ Branch 3 taken 3131305 times.
✓ Branch 4 taken 1940701 times.
✓ Branch 5 taken 2640 times.
5074646 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4274 {
4275 1940701 overtile8(dest,13,x,y+24,1,0);
4276
4277
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1940701 times.
1940701 if(game)
4278 {
4279 1940701 int32_t itemid = current_item_id(itype_bombbag);
4280
3/4
✓ Branch 0 taken 739880 times.
✓ Branch 1 taken 1200821 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 739880 times.
1940701 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4281
4282 1940701 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4283 1940701 }
4284 1940701 }
4285 5074646 }
4286
4287 10035961 bool is_counter_item(int32_t itemtype, int32_t countertype)
4288 {
4289 10035961 itemdata const& itm = itemsbuf[itemtype];
4290 10035961 int32_t ctr = scounter_to_ctr(countertype);
4291
1/2
✓ Branch 0 taken 10035961 times.
✗ Branch 1 not taken.
10035961 if(ctr == crNONE) return false;
4292
3/4
✓ Branch 0 taken 10035961 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 48838 times.
✓ Branch 3 taken 9987123 times.
10035961 if(ctr == itm.cost_counter[0] ||
4293 10035961 ctr == itm.cost_counter[1])
4294 48838 return true;
4295 9987123 return false;
4296 10035961 }
4297
4298 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4299 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4300 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4301 // or make them flipping work?
4302 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4303 33684104 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4304 {
4305 33684104 int32_t value=0;
4306 33684104 bool infinite=false;
4307 33684104 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4308
4309
5/6
✓ Branch 0 taken 14332184 times.
✓ Branch 1 taken 19351920 times.
✓ Branch 2 taken 332529 times.
✓ Branch 3 taken 13999655 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 332529 times.
33684104 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4310 {
4311 332529 infinite=true;
4312 332529 }
4313
4314 char valstring[80];
4315 char formatstring[80];
4316 33684104 sprintf(valstring,"01234567890123456789");
4317 33684104 sprintf(formatstring, "%%0%dd", digits);
4318
4319
13/16
✓ Branch 0 taken 1863848 times.
✓ Branch 1 taken 31820256 times.
✓ Branch 2 taken 1646200 times.
✓ Branch 3 taken 217648 times.
✓ Branch 4 taken 1597362 times.
✓ Branch 5 taken 48838 times.
✓ Branch 6 taken 1597362 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1731679 times.
✓ Branch 9 taken 3329041 times.
✓ Branch 10 taken 1731679 times.
✓ Branch 11 taken 1815010 times.
✓ Branch 12 taken 1731679 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1731679 times.
✗ Branch 15 not taken.
33684104 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4320 {
4321 1815010 return;
4322 }
4323
4324 int32_t itemtype;
4325 /*
4326 for (int32_t i=0; i<3; ++i)
4327 {
4328 switch (i)
4329 {
4330 case 0:
4331 itemtype=itemtype1;
4332 break;
4333 case 1:
4334 itemtype=itemtype2;
4335 break;
4336 case 2:
4337 itemtype=itemtype3;
4338 break;
4339 }
4340 */
4341 35332452 itemtype=itemtype1;
4342 /* commented out until I find out what it does - it's messing up custom subscreens now as
4343 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4344
4345 /*
4346 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4347 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4348 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4349 */
4350
4351
4352
7/12
✓ Branch 0 taken 24100944 times.
✓ Branch 1 taken 2553461 times.
✓ Branch 2 taken 251253 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2484696 times.
✓ Branch 5 taken 1992280 times.
✓ Branch 6 taken 566576 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 3383242 times.
35332452 switch(itemtype)
4353 {
4354 case sscRUPEES:
4355
1/2
✓ Branch 0 taken 2484696 times.
✗ Branch 1 not taken.
2484696 if(current_item_power(itype_wallet))
4356 infinite=true;
4357
4358 2484696 value+=game->get_rupies();
4359 2484696 break;
4360
4361 case sscBOMBS:
4362
2/2
✓ Branch 0 taken 1974206 times.
✓ Branch 1 taken 18074 times.
1992280 if(current_item_power(itype_bombbag))
4363 18074 infinite=true;
4364
4365 1992280 value+=game->get_bombs();
4366 1992280 break;
4367
4368 case sscSBOMBS:
4369 {
4370 566576 int32_t itemid = current_item_id(itype_bombbag);
4371
4372
4/6
✓ Branch 0 taken 14624 times.
✓ Branch 1 taken 551952 times.
✓ Branch 2 taken 14624 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 14624 times.
✗ Branch 5 not taken.
566576 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4373 14624 infinite=true;
4374
4375 566576 value+=game->get_sbombs();
4376 566576 break;
4377 }
4378
4379 case sscLIFE:
4380 {
4381 value+=game->get_life();
4382 break;
4383 }
4384 case sscMAGIC:
4385 {
4386 value+=game->get_magic();
4387 break;
4388 }
4389
4390 case sscMAXHP:
4391 {
4392 value+=game->get_maxlife();
4393 break;
4394 }
4395 case sscMAXMP:
4396 {
4397 value+=game->get_maxmagic();
4398 break;
4399 }
4400
4401 case sscARROWS:
4402
4/4
✓ Branch 0 taken 574325 times.
✓ Branch 1 taken 2808917 times.
✓ Branch 2 taken 588920 times.
✓ Branch 3 taken 2219997 times.
3383242 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4403 1163245 infinite=true;
4404
4405 // If Hero somehow got ammunition before getting the arrow,
4406 // or if the arrow was disabled in a DMap,
4407 // we shouldn't put the value as zero.
4408 // if(/*current_item_id(itype_arrow)>-1*/ true)
4409 {
4410
2/2
✓ Branch 0 taken 1660267 times.
✓ Branch 1 taken 574325 times.
2234592 if(get_bit(quest_rules,qr_TRUEARROWS))
4411 {
4412 1660267 value+=game->get_arrows();
4413 1660267 }
4414 else
4415 {
4416 574325 value+=game->get_rupies();
4417 }
4418 }
4419 2234592 break;
4420
4421 case sscGENKEYMAGIC:
4422 case sscLEVKEYMAGIC:
4423 case sscANYKEYMAGIC:
4424 {
4425 2553461 int32_t itemid = current_item_id(itype_magickey);
4426
4427
3/4
✓ Branch 0 taken 246099 times.
✓ Branch 1 taken 2307362 times.
✓ Branch 2 taken 246099 times.
✗ Branch 3 not taken.
2553461 if(itemid>-1 && !infinite)
4428 {
4429 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4430 infinite = itemsbuf[itemid].power>=get_dlevel();
4431 else
4432 infinite = itemsbuf[itemid].power==get_dlevel();
4433 }
4434 2553461 }
4435
4436 //fall through
4437 case sscANYKEYNOMAGIC:
4438 case sscLEVKEYNOMAGIC:
4439 case sscGENKEYNOMAGIC:
4440
2/4
✓ Branch 0 taken 2804714 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2238357 times.
5043071 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4441
3/4
✓ Branch 0 taken 2804714 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2238357 times.
✓ Branch 3 taken 566357 times.
2804714 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4442 566357 value += game->get_keys();
4443
4444
3/4
✓ Branch 0 taken 2553461 times.
✓ Branch 1 taken 251253 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 566357 times.
3371071 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4445
3/4
✓ Branch 0 taken 2553461 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 566357 times.
✓ Branch 3 taken 1987104 times.
2553461 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4446 2238357 value += game->get_lkeys();
4447
4448 2804714 break;
4449
4450 case sscSCRIPT1:
4451 case sscSCRIPT2:
4452 case sscSCRIPT3:
4453 case sscSCRIPT4:
4454 case sscSCRIPT5:
4455 case sscSCRIPT6:
4456 case sscSCRIPT7:
4457 case sscSCRIPT8:
4458 case sscSCRIPT9:
4459 case sscSCRIPT10:
4460 case sscSCRIPT11:
4461 case sscSCRIPT12:
4462 case sscSCRIPT13:
4463 case sscSCRIPT14:
4464 case sscSCRIPT15:
4465 case sscSCRIPT16:
4466 case sscSCRIPT17:
4467 case sscSCRIPT18:
4468 case sscSCRIPT19:
4469 case sscSCRIPT20:
4470 case sscSCRIPT21:
4471 case sscSCRIPT22:
4472 case sscSCRIPT23:
4473 case sscSCRIPT24:
4474 case sscSCRIPT25:
4475 24100944 value += game->get_counter(itemtype-3);
4476 24100944 break;
4477
4478 default:
4479 break;
4480 }
4481
4482 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4483
4/4
✓ Branch 0 taken 11543935 times.
✓ Branch 1 taken 22639867 times.
✓ Branch 2 taken 11180194 times.
✓ Branch 3 taken 11459673 times.
34183802 if ( /*get_bit(quest_rules,qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4484 34183802 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4485
4486 {
4487 //add item2 and item3 values to item1 values
4488
2/2
✓ Branch 0 taken 2115002 times.
✓ Branch 1 taken 1057501 times.
24839131 for (int32_t i=1; i<3; ++i)
4489 {
4490
4491
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 1057501 times.
✓ Branch 2 taken 1057501 times.
2115002 switch (i)
4492 {
4493 case 1:
4494 {
4495
2/2
✓ Branch 0 taken 495116 times.
✓ Branch 1 taken 562385 times.
1057501 if ( itemtypes[i] == itemtypes[i-1] )
4496 {
4497 495116 itemtype = -2;
4498 495116 break;
4499 }
4500 else
4501 {
4502 562385 itemtype=itemtype2;
4503 562385 break;
4504 }
4505 }
4506 case 2:
4507 {
4508
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1057501 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
1057501 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4509 {
4510 1057501 itemtype = -3;
4511 1057501 break;
4512 }
4513 else
4514 {
4515 itemtype=itemtype3;
4516 break;
4517 }
4518
4519 }
4520 }
4521
4522
1/11
✗ Branch 0 not taken.
✓ Branch 1 taken 2115002 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
2115002 switch(itemtype)
4523 {
4524 case -3:
4525 case -2:
4526 case sscLIFE:
4527 case sscRUPEES:
4528 {
4529 //do nothing if any of these three. -Z
4530 //value+=game->get_life(); Life cannot stack. It's NULL. :/
4531 2115002 break;
4532 }
4533 //case sscRUPEES:
4534 //{
4535 // if(current_item_power(itype_wallet))
4536 // infinite=true;
4537 // value+=game->get_rupies();
4538 // break;
4539 //}
4540 case sscBOMBS:
4541 {
4542 if(current_item_power(itype_bombbag))
4543 infinite=true;
4544 value+=game->get_bombs();
4545 break;
4546 }
4547 case sscSBOMBS:
4548 {
4549 int32_t itemid = current_item_id(itype_bombbag);
4550 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4551 infinite=true;
4552 value+=game->get_sbombs();
4553 break;
4554 }
4555 case sscMAGIC:
4556 {
4557 value+=game->get_magic();
4558 break;
4559 }
4560 case sscMAXHP:
4561 {
4562 value+=game->get_maxlife();
4563 break;
4564 }
4565 case sscMAXMP:
4566 {
4567 value+=game->get_maxmagic();
4568 break;
4569 }
4570 case sscARROWS:
4571 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4572 infinite=true;
4573
4574 // If Hero somehow got ammunition before getting the arrow,
4575 // or if the arrow was disabled in a DMap,
4576 // we shouldn't put the value as zero.
4577 // if(/*current_item_id(itype_arrow)>-1*/ true)
4578 {
4579 if(get_bit(quest_rules,qr_TRUEARROWS))
4580 {
4581 value+=game->get_arrows();
4582 }
4583 else
4584 {
4585 value+=game->get_rupies();
4586 }
4587 }
4588 break;
4589
4590 case sscGENKEYMAGIC:
4591 case sscLEVKEYMAGIC:
4592 case sscANYKEYMAGIC:
4593 {
4594 int32_t itemid = current_item_id(itype_magickey);
4595 if(itemid>-1 && !infinite)
4596 {
4597 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4598 {
4599 infinite = itemsbuf[itemid].power>=get_dlevel();
4600 }
4601 else
4602 {
4603 infinite = itemsbuf[itemid].power==get_dlevel();
4604 }
4605 }
4606 }
4607
4608 //fall through
4609 case sscANYKEYNOMAGIC:
4610 case sscLEVKEYNOMAGIC:
4611 case sscGENKEYNOMAGIC:
4612 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4613 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4614 {
4615 value += game->get_keys();
4616 }
4617
4618 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4619 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4620 {
4621 value += game->get_lkeys();
4622 }
4623 break;
4624
4625 case sscSCRIPT1:
4626 case sscSCRIPT2:
4627 case sscSCRIPT3:
4628 case sscSCRIPT4:
4629 case sscSCRIPT5:
4630 case sscSCRIPT6:
4631 case sscSCRIPT7:
4632 case sscSCRIPT8:
4633 case sscSCRIPT9:
4634 case sscSCRIPT10:
4635 case sscSCRIPT11:
4636 case sscSCRIPT12:
4637 case sscSCRIPT13:
4638 case sscSCRIPT14:
4639 case sscSCRIPT15:
4640 case sscSCRIPT16:
4641 case sscSCRIPT17:
4642 case sscSCRIPT18:
4643 case sscSCRIPT19:
4644 case sscSCRIPT20:
4645 case sscSCRIPT21:
4646 case sscSCRIPT22:
4647 case sscSCRIPT23:
4648 case sscSCRIPT24:
4649 case sscSCRIPT25:
4650 {
4651 value += game->get_counter(itemtype-3);
4652 break;
4653 }
4654
4655 default:
4656 {
4657 break;
4658 }
4659 }
4660
4661 2115002 }
4662 1057501 }
4663
4664 // (for loop) }
4665
5/6
✓ Branch 0 taken 1153880 times.
✓ Branch 1 taken 11363294 times.
✓ Branch 2 taken 990683 times.
✓ Branch 3 taken 163197 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 990683 times.
12517174 if(!showzero&&!value&&!infinite)
4666 {
4667 990683 return;
4668 }
4669
4670
2/2
✓ Branch 0 taken 293392 times.
✓ Branch 1 taken 11233099 times.
11526491 if(infinite)
4671 {
4672 293392 sprintf(valstring, "%c", idigit);
4673 293392 }
4674 else
4675 {
4676 11233099 sprintf(valstring, formatstring, value);
4677 }
4678
4679 11526491 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4680
4681 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4682 14332184 }
4683
4684 7063801 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4685 {
4686 char dmaptitlesource[2][11];
4687 char dmaptitle[2][11];
4688 7063801 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4689 7063801 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4690
4691 7063801 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4692 7063801 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4693
4694
3/4
✓ Branch 0 taken 1039956 times.
✓ Branch 1 taken 6023845 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1039956 times.
7063801 if((title_len1>0)||(title_len2>0))
4695 {
4696
3/4
✓ Branch 0 taken 6023845 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4804996 times.
✓ Branch 3 taken 1218849 times.
6023845 if((title_len1>0)&&(title_len2>0))
4697 {
4698 1218849 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4699 1218849 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4700 1218849 }
4701 else
4702 {
4703
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4804996 times.
4804996 if(title_len1>0)
4704 {
4705 4804996 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4706 4804996 }
4707 else
4708 {
4709 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4710 }
4711 }
4712 6023845 }
4713 7063801 }
4714
4715 7800961 void put_passive_subscr(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,bool showtime,int32_t pos2)
4716 {
4717 // uncomment this?
4718 // load_Sitems();
4719 7800961 Sitems.animate();
4720 7800961 update_subscr_items();
4721 7800961 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4722
4723
2/2
✓ Branch 0 taken 36795 times.
✓ Branch 1 taken 7764166 times.
7800961 if(no_subscreen())
4724 {
4725 36795 clear_to_color(subscr,0);
4726 36795 destroy_bitmap(subscr);
4727 36795 return;
4728 }
4729
4730 7764166 show_custom_subscreen(subscr, misc, current_subscreen_passive, 0, 0, showtime, pos2);
4731 7764166 destroy_bitmap(subscr);
4732 7800961 }
4733
4734 /*
4735 const byte tripiece[8*3] =
4736 {
4737 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4738 112,128,2, 112,128,1, 128,128,3, 128,128,0
4739 };
4740 */
4741
4742 33668 void puttriframe(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4743 {
4744
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(triframetile==0)
4745 {
4746 33668 triframetile=misc->colors.triframe_tile;
4747 33668 triframecset=misc->colors.triframe_cset;
4748 33668 }
4749
4750
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(triforcetile==0)
4751 {
4752 33668 triforcetile=misc->colors.triforce_tile;
4753 33668 triforcecset=misc->colors.triforce_cset;
4754 33668 }
4755
4756
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(!largepieces)
4757 {
4758
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(showframe)
4759 {
4760
2/2
✓ Branch 0 taken 26873 times.
✓ Branch 1 taken 6795 times.
33668 if(triframetile)
4761 {
4762 26873 draw_block(dest,x,y,triframetile,triframecset,6,3);
4763 26873 }
4764 else
4765 {
4766 6795 line(dest,x+47,y,x+1,y+46,triframecolor);
4767 6795 line(dest,x+48,y,x+94,y+46,triframecolor);
4768 6795 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4769 6795 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4770 6795 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4771 6795 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4772 }
4773 33668 }
4774
4775
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(showpieces)
4776 {
4777
2/2
✓ Branch 0 taken 269344 times.
✓ Branch 1 taken 33668 times.
303012 for(int32_t i=0; i<8; i++)
4778 {
4779 269344 int32_t lvl = i+1;
4780
4781
4/4
✓ Branch 0 taken 168656 times.
✓ Branch 1 taken 100688 times.
✓ Branch 2 taken 84328 times.
✓ Branch 3 taken 84328 times.
269344 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4782 84328 lvl -= 4;
4783
4784
2/2
✓ Branch 0 taken 157374 times.
✓ Branch 1 taken 111970 times.
269344 if(has_item(itype_triforcepiece, lvl))
4785 {
4786 111970 int32_t tp=0;
4787
4788
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 424715 times.
424715 for(; tp<8; tp++)
4789
2/2
✓ Branch 0 taken 312745 times.
✓ Branch 1 taken 111970 times.
424715 if(misc->triforce[tp] == i+1)
4790 111970 break;
4791
4792 111970 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4793 111970 }
4794 269344 }
4795 33668 }
4796 33668 }
4797 else
4798 {
4799 if(showframe)
4800 {
4801 if(triframetile)
4802 {
4803 draw_block(dest,x,y,triframetile,triframecset,7,7);
4804 }
4805 else
4806 {
4807 if(!get_bit(quest_rules,qr_4TRI))
4808 {
4809 //left inside vertical
4810 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
4811 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
4812
4813 //center inside vertical top
4814 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
4815 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
4816
4817 //right inside vertical
4818 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
4819 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
4820
4821 if(!get_bit(quest_rules,qr_3TRI))
4822 {
4823 //center inside vertical bottom
4824 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
4825 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
4826 }
4827 }
4828
4829 //middle inside horizontal
4830 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
4831 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
4832
4833 //bottom outside horizontal
4834 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
4835
4836 //left outside diagonal
4837 line(dest,x+8,y+103,x+55,y+8,triframecolor);
4838 line(dest,x+9,y+102,x+55,y+9,triframecolor);
4839
4840 //right outside diagonal
4841 line(dest,x+56,y+8,x+103,y+103,triframecolor);
4842 line(dest,x+56,y+9,x+102,y+102,triframecolor);
4843
4844 //left inside diagonal
4845 line(dest,x+32,y+56,x+55,y+103,triframecolor);
4846 line(dest,x+32,y+57,x+54,y+102,triframecolor);
4847 line(dest,x+32,y+55,x+55,y+102,triframecolor);
4848
4849 //right inside diagonal
4850 line(dest,x+56,y+103,x+79,y+56,triframecolor);
4851 line(dest,x+57,y+102,x+79,y+57,triframecolor);
4852 line(dest,x+56,y+102,x+79,y+55,triframecolor);
4853
4854 for(int32_t i=0; i<8; i++)
4855 {
4856 int32_t lvl = i+1;
4857
4858 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4859 {
4860 lvl -= 4;
4861 }
4862
4863 int32_t tp=0;
4864
4865 for(; tp<8; tp++)
4866 {
4867 if(misc->triforce[tp] == i+1)
4868 {
4869 break;
4870 }
4871 }
4872
4873 if(!has_item(itype_triforcepiece, lvl))
4874 {
4875 textprintf_ex(dest, get_zc_font(font_pfont), x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
4876 }
4877 }
4878 }
4879 }
4880
4881 if(showpieces)
4882 {
4883 for(int32_t i=0; i<8; i++)
4884 {
4885 int32_t lvl = i+1;
4886
4887 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4888 {
4889 lvl -= 4;
4890 }
4891
4892 int32_t tp=0;
4893
4894 for(; tp<8; tp++)
4895 {
4896 if(misc->triforce[tp] == i+1)
4897 {
4898 break;
4899 }
4900 }
4901
4902 if(has_item(itype_triforcepiece, lvl))
4903 {
4904 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
4905 }
4906 }
4907 }
4908 }
4909 33668 }
4910
4911
4912 void puttriforce(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
4913 {
4914 if(tile==0)
4915 {
4916 tile=misc->colors.triforce_tile;
4917 cset=misc->colors.triforce_cset;
4918 }
4919
4920 if(trinum <= 8)
4921 {
4922 for(int32_t i=0; i<8; i++)
4923 {
4924 int32_t lvl = i+1;
4925
4926 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4927 lvl -= 4;
4928
4929 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
4930 {
4931 int32_t tp=0;
4932
4933 for(; tp<8; tp++)
4934 if(misc->triforce[tp] == i+1)
4935 break;
4936
4937 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4938 }
4939 }
4940 }
4941 else if(has_item(itype_triforcepiece, trinum))
4942 {
4943 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4944 }
4945 }
4946
4947 /*
4948 const byte bmap[16*2] = {
4949 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
4950 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
4951
4952 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
4953
4954 const byte bmaptiles[8*5] = {
4955 0, 1, 2, 3, 2, 3, 3, 4,
4956 20,21,22,23,22,23,23,24,
4957 20,21,22,23,22,23,23,24,
4958 20,21,22,23,22,23,23,24,
4959 40,41,42,43,42,43,43,44 };
4960 */
4961
4962 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
4963 195710 void putBmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
4964 {
4965 195710 int32_t si=0;
4966
4967
2/2
✓ Branch 0 taken 121021 times.
✓ Branch 1 taken 74689 times.
195710 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
4968
2/2
✓ Branch 0 taken 121021 times.
✓ Branch 1 taken 74689 times.
195710 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
4969
4970
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showmap)
4971 {
4972
2/2
✓ Branch 0 taken 1886 times.
✓ Branch 1 taken 193824 times.
195710 if(maptile)
4973 {
4974 1886 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
4975 1886 }
4976
3/4
✓ Branch 0 taken 101058 times.
✓ Branch 1 taken 92766 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 101058 times.
193824 else if(misc->colors.dungeon_map_tile||misc->colors.dungeon_map_tile)
4977 {
4978
2/2
✓ Branch 0 taken 463830 times.
✓ Branch 1 taken 92766 times.
556596 for(int32_t y2=0; y2<5; y2++)
4979 {
4980
2/2
✓ Branch 0 taken 3710640 times.
✓ Branch 1 taken 463830 times.
4174470 for(int32_t x2=0; x2<(large?8:6); x2++)
4981 {
4982
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3710640 times.
✓ Branch 2 taken 3710640 times.
✗ Branch 3 not taken.
3710640 overtile16(dest,(misc->colors.dungeon_map_tile!=0?misc->colors.dungeon_map_tile:misc->colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),misc->colors.dungeon_map_cset,0);
4983 //++si;
4984 3710640 }
4985 463830 }
4986 92766 }
4987 else
4988 {
4989 101058 BITMAP *bmp = create_bitmap_ex(8,8,8);
4990
4991
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 101058 times.
101058 if(!bmp)
4992 return;
4993
4994 101058 clear_bitmap(bmp);
4995
4996
2/2
✓ Branch 0 taken 808464 times.
✓ Branch 1 taken 101058 times.
909522 for(int32_t x2=0; x2<8; x2++)
4997 {
4998
2/2
✓ Branch 0 taken 4547610 times.
✓ Branch 1 taken 808464 times.
5356074 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
4999 {
5000 4547610 putpixel(bmp,x2,y2,misc->colors.bmap_bg);
5001 4547610 }
5002 808464 }
5003
5004 101058 rectfill(dest,x,y,x+(large?127:95),y+79,misc->colors.bmap_bg);
5005
5006
2/2
✓ Branch 0 taken 202116 times.
✓ Branch 1 taken 101058 times.
303174 for(int32_t y2=0; y2<2; ++y2)
5007 {
5008
2/2
✓ Branch 0 taken 3233856 times.
✓ Branch 1 taken 202116 times.
3435972 for(int32_t x2=0; x2<(large?16:12); ++x2)
5009 {
5010
3/4
✓ Branch 0 taken 3233856 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2425392 times.
✓ Branch 3 taken 808464 times.
3233856 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5011 {
5012 808464 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,misc->colors.subscr_bg);
5013
5014
3/5
✓ Branch 0 taken 808464 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 404232 times.
✓ Branch 4 taken 404232 times.
808464 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5015 {
5016 case 3:
5017 404232 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
5018 404232 break;
5019
5020 404232 case 1:
5021 default:
5022 404232 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
5023 404232 break;
5024 }
5025 808464 }
5026 3233856 }
5027 202116 }
5028
5029 101058 destroy_bitmap(bmp);
5030 }
5031 195710 }
5032
5033
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showrooms)
5034 {
5035
1/2
✓ Branch 0 taken 195710 times.
✗ Branch 1 not taken.
195710 if(roomcolor==-1)
5036 {
5037 roomcolor = misc->colors.bmap_fg;
5038 }
5039
5040 195710 si=(get_currdmap() << 7);
5041
5042
2/2
✓ Branch 0 taken 1565680 times.
✓ Branch 1 taken 195710 times.
1761390 for(int32_t y2=y+8; y2<y+72; y2+=8)
5043 {
5044
2/2
✓ Branch 0 taken 11587993 times.
✓ Branch 1 taken 1565680 times.
13153673 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
5045 11587993 ++si;
5046 1565680 int32_t xoffs = DMaps[get_currdmap()].xoff;
5047
2/2
✓ Branch 0 taken 12132656 times.
✓ Branch 1 taken 1565680 times.
13698336 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
5048 {
5049
2/2
✓ Branch 0 taken 11782672 times.
✓ Branch 1 taken 349984 times.
12132656 if(xoffs < 0)
5050 {
5051 349984 x2 += (8*-xoffs);
5052 349984 xoffs = 0;
5053 349984 }
5054
2/2
✓ Branch 0 taken 8331921 times.
✓ Branch 1 taken 3800735 times.
12132656 if(get_bmaps(si))
5055 {
5056 3800735 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
5057
5058
2/2
✓ Branch 0 taken 2751198 times.
✓ Branch 1 taken 1049537 times.
3800735 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
5059
5060
2/2
✓ Branch 0 taken 2441804 times.
✓ Branch 1 taken 1358931 times.
3800735 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
5061
5062
2/2
✓ Branch 0 taken 2805182 times.
✓ Branch 1 taken 995553 times.
3800735 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
5063
5064
2/2
✓ Branch 0 taken 2881933 times.
✓ Branch 1 taken 918802 times.
3800735 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
5065 3800735 }
5066
5067 12132656 ++si;
5068 12132656 }
5069
2/2
✓ Branch 0 taken 1215696 times.
✓ Branch 1 taken 349984 times.
1565680 if(DMaps[get_currdmap()].xoff < 0)
5070 {
5071 349984 si -= DMaps[get_currdmap()].xoff;
5072 349984 }
5073 1565680 }
5074 195710 }
5075
5076
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showhero)
5077 {
5078
2/2
✓ Branch 0 taken 19636 times.
✓ Branch 1 taken 176074 times.
195710 if(get_currscr()<MAPSCRSNORMAL)
5079 {
5080
1/2
✓ Branch 0 taken 176074 times.
✗ Branch 1 not taken.
176074 if(herocolor==-1)
5081 {
5082 herocolor=misc->colors.hero_dot;
5083 }
5084
5085
2/2
✓ Branch 0 taken 3340 times.
✓ Branch 1 taken 172734 times.
176074 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
5086 176074 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
5087 176074 }
5088 195710 }
5089 195710 }
5090
5091
5092 34672 void load_Sitems(miscQdata *misc)
5093 {
5094 34672 Sitems.clear();
5095
5096 // HC Pieces
5097
2/2
✓ Branch 0 taken 9006 times.
✓ Branch 1 taken 25666 times.
34672 if(misc->colors.HCpieces_tile)
5098 {
5099 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,iMax,0,0);
5100
4/8
✓ Branch 0 taken 25666 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25666 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25666 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25666 times.
✗ Branch 7 not taken.
25666 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
5101
5102
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 25666 times.
25666 if(HCP)
5103 {
5104 25666 int32_t hcpphc = game->get_hcp_per_hc();
5105
2/2
✓ Branch 0 taken 24925 times.
✓ Branch 1 taken 741 times.
25666 HCP->tile = misc->colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
5106 25666 HCP->o_tile = HCP->tile;
5107 25666 HCP->cs = misc->colors.HCpieces_cset;
5108 25666 HCP->frames = 0;
5109 25666 add_subscr_item(HCP);
5110 25666 }
5111 25666 }
5112
5113
2/2
✓ Branch 0 taken 24744 times.
✓ Branch 1 taken 9928 times.
34672 if(has_item(itype_map, get_dlevel()))
5114 {
5115
4/8
✓ Branch 0 taken 9928 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9928 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9928 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9928 times.
✗ Branch 7 not taken.
9928 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
5116 9928 }
5117
5118
2/2
✓ Branch 0 taken 22613 times.
✓ Branch 1 taken 12059 times.
34672 if(has_item(itype_compass, get_dlevel()))
5119 {
5120
4/8
✓ Branch 0 taken 12059 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 12059 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12059 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 12059 times.
✗ Branch 7 not taken.
12059 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
5121 12059 }
5122
5123
2/2
✓ Branch 0 taken 31122 times.
✓ Branch 1 taken 3550 times.
34672 if(has_item(itype_bosskey, get_dlevel()))
5124 {
5125
4/8
✓ Branch 0 taken 3550 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3550 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3550 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3550 times.
✗ Branch 7 not taken.
3550 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
5126 3550 }
5127
5128
2/2
✓ Branch 0 taken 34672 times.
✓ Branch 1 taken 17752064 times.
17786736 for(int32_t i=0; i<itype_max; i++)
5129 {
5130 //special case: ignore the dmap-specific items processed above. -DD
5131
6/6
✓ Branch 0 taken 17717392 times.
✓ Branch 1 taken 34672 times.
✓ Branch 2 taken 17682720 times.
✓ Branch 3 taken 34672 times.
✓ Branch 4 taken 34672 times.
✓ Branch 5 taken 17648048 times.
17752064 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5132 104016 continue;
5133
5134 // Display the ring even if it has run out of magic.
5135
2/2
✓ Branch 0 taken 17151809 times.
✓ Branch 1 taken 496239 times.
17648048 if(current_item_id(i,false)>-1)
5136 {
5137 496239 int32_t j = current_item_id(i,false);
5138 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5139
2/2
✓ Branch 0 taken 9091 times.
✓ Branch 1 taken 487148 times.
496239 if(itemsbuf[j].tile)
5140
4/8
✓ Branch 0 taken 487148 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 487148 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 487148 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 487148 times.
✗ Branch 7 not taken.
487148 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5141 496239 }
5142 17648048 }
5143 //al_trace("Finished load_Sitems(%d)\n",0);
5144
5145 34672 new_sel=true;
5146 34672 }
5147
5148 26139 void update_subscreens(int32_t dmap)
5149 {
5150
2/2
✓ Branch 0 taken 24576 times.
✓ Branch 1 taken 1563 times.
26139 if(dmap<0)
5151 24576 dmap=get_currdmap();
5152
5153 26139 int32_t index=DMaps[dmap].active_subscreen;
5154
5155 26139 int32_t i=-1, j=0;
5156
5157
4/4
✓ Branch 0 taken 2669 times.
✓ Branch 1 taken 81446 times.
✓ Branch 2 taken 57976 times.
✓ Branch 3 taken 26139 times.
84115 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5158 {
5159
2/2
✓ Branch 0 taken 49520 times.
✓ Branch 1 taken 8456 times.
57976 if(custom_subscreen[j].ss_type==sstACTIVE)
5160 {
5161 49520 ++i;
5162 49520 }
5163
5164 57976 ++j;
5165 }
5166
5167 26139 current_subscreen_active=&custom_subscreen[j-1];
5168
5169 26139 index=DMaps[dmap].passive_subscreen;
5170
5171 26139 i=-1, j=0;
5172
5173
4/4
✓ Branch 0 taken 14213 times.
✓ Branch 1 taken 112698 times.
✓ Branch 2 taken 100772 times.
✓ Branch 3 taken 26139 times.
126911 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5174 {
5175
2/2
✓ Branch 0 taken 55415 times.
✓ Branch 1 taken 45357 times.
100772 if(custom_subscreen[j].ss_type==sstPASSIVE)
5176 {
5177 45357 ++i;
5178 45357 }
5179
5180 100772 ++j;
5181 }
5182
5183 26139 current_subscreen_passive=&custom_subscreen[j-1];
5184 26139 }
5185
5186 88 int32_t ss_objects(subscreen_group *tempss)
5187 {
5188 88 int32_t i=0;
5189
5190
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3806 times.
✓ Branch 2 taken 3718 times.
✓ Branch 3 taken 88 times.
3806 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5191 {
5192 3718 ++i;
5193 }
5194
5195 88 return i;
5196 }
5197
5198
5199 88 void purge_blank_subscreen_objects(subscreen_group *tempss)
5200 {
5201 88 int32_t objects=ss_objects(tempss);
5202 subscreen_object tempsso;
5203
5204 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5205
2/2
✓ Branch 0 taken 3630 times.
✓ Branch 1 taken 88 times.
3718 for(int32_t j=0; j<objects-1; j++)
5206 {
5207
2/2
✓ Branch 0 taken 99462 times.
✓ Branch 1 taken 3630 times.
103092 for(int32_t k=0; k<objects-1-j; k++)
5208 {
5209
2/2
✓ Branch 0 taken 47516 times.
✓ Branch 1 taken 51946 times.
99462 if(tempss->objects[k].type==ssoNONE)
5210 {
5211 51946 tempsso=tempss->objects[k];
5212 51946 tempss->objects[k]=tempss->objects[k+1];
5213 51946 tempss->objects[k+1]=tempsso;
5214 51946 }
5215 99462 }
5216 3630 }
5217
5218 //NULL out the ssoNONE items
5219
2/2
✓ Branch 0 taken 3718 times.
✓ Branch 1 taken 88 times.
3806 for(int32_t j=0; j<objects; j++)
5220 {
5221
2/2
✓ Branch 0 taken 2056 times.
✓ Branch 1 taken 1662 times.
3718 if(tempss->objects[j].type==ssoNONE)
5222 {
5223 1662 tempss->objects[j].type=ssoNULL;
5224 1662 }
5225 3718 }
5226 88 }
5227
5228
5229
5230 int32_t get_alignment(subscreen_object *tempsso)
5231 {
5232 switch(tempsso->type)
5233 {
5234 case ssoTEXT:
5235 return tempsso->d2;
5236 break;
5237
5238 case ssoBSTIME:
5239 return sstaLEFT;
5240 break;
5241
5242 case ssoTIME:
5243 return sstaRIGHT;
5244 break;
5245
5246 case ssoSSTIME:
5247 return sstaRIGHT;
5248 break;
5249
5250 case ssoCOUNTER:
5251 return tempsso->d2;
5252 break;
5253
5254 case ssoMINIMAPTITLE:
5255 return tempsso->d2;
5256 break;
5257
5258 case ssoCURRENTITEMTEXT:
5259 case ssoCURRENTITEMNAME:
5260 case ssoSELECTEDITEMNAME:
5261 case ssoCURRENTITEMCLASSTEXT:
5262 case ssoCURRENTITEMCLASSNAME:
5263 case ssoSELECTEDITEMCLASSNAME:
5264 return sstaLEFT;
5265 break;
5266
5267 case ssoNONE:
5268 case sso2X2FRAME:
5269 case ssoLINE:
5270 case ssoRECT:
5271 case ssoMAGICMETER:
5272 case ssoLIFEMETER:
5273 case ssoBUTTONITEM:
5274 case ssoICON:
5275 case ssoCOUNTERS:
5276 case ssoMINIMAP:
5277 case ssoLARGEMAP:
5278 case ssoCLEAR:
5279 case ssoCURRENTITEM:
5280 case ssoITEM:
5281 case ssoTRIFRAME:
5282 case ssoTRIFORCE:
5283 case ssoTILEBLOCK:
5284 case ssoMINITILE:
5285 case ssoSELECTOR1:
5286 case ssoSELECTOR2:
5287 case ssoMAGICGAUGE:
5288 case ssoLIFEGAUGE:
5289 case ssoTEXTBOX:
5290 case ssoCURRENTITEMTILE:
5291 case ssoSELECTEDITEMTILE:
5292 default:
5293 return sstaLEFT;
5294 break;
5295 }
5296
5297 // return false;//UNREACHABLE
5298 }
5299
5300 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5301 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5302 //x-1
5303 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5304 //w+1
5305 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5306 //y-1
5307 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5308 //h+1
5309 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5310
5311 int32_t sso_y(subscreen_object *tempsso)
5312 {
5313 int32_t y=0;
5314
5315 switch(tempsso->type)
5316 {
5317 case ssoLIFEMETER:
5318 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5319 break;
5320
5321 case ssoNONE:
5322 case sso2X2FRAME:
5323 case ssoTEXT:
5324 case ssoLINE:
5325 case ssoRECT:
5326 case ssoBSTIME:
5327 case ssoTIME:
5328 case ssoSSTIME:
5329 case ssoMAGICMETER:
5330 case ssoBUTTONITEM:
5331 case ssoICON:
5332 case ssoCOUNTER:
5333 case ssoCOUNTERS:
5334 case ssoMINIMAPTITLE:
5335 case ssoMINIMAP:
5336 case ssoLARGEMAP:
5337 case ssoCLEAR:
5338 case ssoCURRENTITEM:
5339 case ssoITEM:
5340 case ssoTRIFRAME:
5341 case ssoTRIFORCE:
5342 case ssoTILEBLOCK:
5343 case ssoMINITILE:
5344 case ssoSELECTOR1:
5345 case ssoSELECTOR2:
5346 case ssoMAGICGAUGE:
5347 case ssoLIFEGAUGE:
5348 case ssoTEXTBOX:
5349 case ssoCURRENTITEMTILE:
5350 case ssoSELECTEDITEMTILE:
5351 case ssoCURRENTITEMTEXT:
5352 case ssoCURRENTITEMNAME:
5353 case ssoSELECTEDITEMNAME:
5354 case ssoCURRENTITEMCLASSTEXT:
5355 case ssoCURRENTITEMCLASSNAME:
5356 case ssoSELECTEDITEMCLASSNAME:
5357 y=tempsso->y;
5358 break;
5359
5360 default:
5361 y=(zc_oldrand()*1000)%64;
5362 break;
5363 }
5364
5365 switch(tempsso->type)
5366 {
5367 case ssoTEXT:
5368 case ssoBSTIME:
5369 case ssoTIME:
5370 case ssoSSTIME:
5371 case ssoCOUNTER:
5372 case ssoCOUNTERS:
5373 switch(tempsso->d3)
5374 {
5375 case sstsOUTLINE8:
5376 case sstsOUTLINEPLUS:
5377 case sstsOUTLINEX:
5378 case sstsOUTLINED8:
5379 case sstsOUTLINEDPLUS:
5380 case sstsOUTLINEDX:
5381 y-=1;
5382 break;
5383 }
5384
5385 break;
5386 }
5387
5388 return y;
5389 }
5390
5391 int32_t sso_x(subscreen_object *tempsso)
5392 {
5393 int32_t x=0;
5394
5395 switch(tempsso->type)
5396 {
5397 case ssoMAGICMETER:
5398 x=tempsso->x-10;
5399 break;
5400
5401 case ssoNONE:
5402 case sso2X2FRAME:
5403 case ssoTEXT:
5404 case ssoLINE:
5405 case ssoRECT:
5406 case ssoBSTIME:
5407 case ssoTIME:
5408 case ssoSSTIME:
5409 case ssoLIFEMETER:
5410 case ssoBUTTONITEM:
5411 case ssoICON:
5412 case ssoCOUNTER:
5413 case ssoCOUNTERS:
5414 case ssoMINIMAPTITLE:
5415 case ssoMINIMAP:
5416 case ssoLARGEMAP:
5417 case ssoCLEAR:
5418 case ssoCURRENTITEM:
5419 case ssoITEM:
5420 case ssoTRIFRAME:
5421 case ssoTRIFORCE:
5422 case ssoTILEBLOCK:
5423 case ssoMINITILE:
5424 case ssoSELECTOR1:
5425 case ssoSELECTOR2:
5426 case ssoMAGICGAUGE:
5427 case ssoLIFEGAUGE:
5428 case ssoTEXTBOX:
5429 case ssoCURRENTITEMTILE:
5430 case ssoSELECTEDITEMTILE:
5431 case ssoCURRENTITEMTEXT:
5432 case ssoCURRENTITEMNAME:
5433 case ssoSELECTEDITEMNAME:
5434 case ssoCURRENTITEMCLASSTEXT:
5435 case ssoCURRENTITEMCLASSNAME:
5436 case ssoSELECTEDITEMCLASSNAME:
5437 x=tempsso->x;
5438 break;
5439
5440 default:
5441 x=(zc_oldrand()*1000)%64;
5442 break;
5443 }
5444
5445 switch(tempsso->type)
5446 {
5447 case ssoTEXT:
5448 case ssoBSTIME:
5449 case ssoTIME:
5450 case ssoSSTIME:
5451 case ssoCOUNTER:
5452 case ssoCOUNTERS:
5453 switch(tempsso->d3)
5454 {
5455 case sstsSHADOWU:
5456 case sstsOUTLINE8:
5457 case sstsOUTLINEPLUS:
5458 case sstsOUTLINEX:
5459 case sstsSHADOWEDU:
5460 case sstsOUTLINED8:
5461 case sstsOUTLINEDPLUS:
5462 case sstsOUTLINEDX:
5463 x-=1;
5464 break;
5465 }
5466
5467 break;
5468 }
5469
5470 return x;
5471 }
5472
5473
5474
5475 int32_t sso_h(subscreen_object *tempsso)
5476 {
5477 int32_t h=0;
5478
5479 switch(tempsso->type)
5480 {
5481 case ssoNONE:
5482 h=5;
5483 break;
5484
5485 case sso2X2FRAME:
5486 h=tempsso->h*8;
5487 break;
5488
5489 case ssoTEXT:
5490 h=text_height(ss_font(tempsso->d1));
5491 break;
5492
5493 case ssoLINE:
5494 h=tempsso->h;
5495 break;
5496
5497 case ssoRECT:
5498 h=tempsso->h;
5499 break;
5500
5501 case ssoBSTIME:
5502 h=text_height(ss_font(tempsso->d1));
5503 break;
5504
5505 case ssoTIME:
5506 h=text_height(ss_font(tempsso->d1));
5507 break;
5508
5509 case ssoSSTIME:
5510 h=text_height(ss_font(tempsso->d1));
5511 break;
5512
5513 case ssoMAGICMETER:
5514 h=8;
5515 break;
5516
5517 case ssoLIFEMETER:
5518 h=tempsso->d3?24:16;
5519 break;
5520
5521 case ssoBUTTONITEM:
5522 h=16;
5523 break;
5524
5525 case ssoICON:
5526 h=8;
5527 break;
5528
5529 case ssoCOUNTER:
5530 h=text_height(ss_font(tempsso->d1));
5531 break;
5532
5533 case ssoCOUNTERS:
5534 h=32;
5535 break;
5536
5537 case ssoMINIMAPTITLE:
5538 h=16;
5539 break;
5540
5541 case ssoMINIMAP:
5542 h=48;
5543 break;
5544
5545 case ssoLARGEMAP:
5546 h=80;
5547 break;
5548
5549 case ssoCLEAR:
5550 h=5;
5551 break;
5552
5553 case ssoCURRENTITEM:
5554 h=16;
5555 break;
5556
5557 case ssoITEM:
5558 h=16;
5559 break;
5560
5561 case ssoTRIFRAME:
5562 h=16*((tempsso->d7)?7:3);
5563 break;
5564
5565 case ssoTRIFORCE:
5566 h=16;
5567 break;
5568
5569 case ssoTILEBLOCK:
5570 h=16*(tempsso->h);
5571 break;
5572
5573 case ssoMINITILE:
5574 h=8;
5575 break;
5576
5577 case ssoSELECTOR1:
5578 case ssoSELECTOR2:
5579 h=tempsso->d5?32:16;
5580 break;
5581
5582 case ssoMAGICGAUGE:
5583 h=8;
5584 break;
5585
5586 case ssoLIFEGAUGE:
5587 h=8;
5588 break;
5589
5590 case ssoTEXTBOX:
5591 h=tempsso->h;
5592 break;
5593
5594 case ssoCURRENTITEMTILE:
5595 h=16;
5596 break;
5597
5598 case ssoSELECTEDITEMTILE:
5599 h=16;
5600 break;
5601
5602 case ssoCURRENTITEMTEXT:
5603 h=16;
5604 break;
5605
5606 case ssoCURRENTITEMNAME:
5607 h=tempsso->h;
5608 break;
5609
5610 case ssoSELECTEDITEMNAME:
5611 h=tempsso->h;
5612 break;
5613
5614 case ssoCURRENTITEMCLASSTEXT:
5615 h=tempsso->h;
5616 break;
5617
5618 case ssoCURRENTITEMCLASSNAME:
5619 h=tempsso->h;
5620 break;
5621
5622 case ssoSELECTEDITEMCLASSNAME:
5623 h=tempsso->h;
5624 break;
5625
5626 default:
5627 h=(zc_oldrand()*1000)%64;
5628 break;
5629 }
5630
5631 switch(tempsso->type)
5632 {
5633 case ssoTEXT:
5634 case ssoBSTIME:
5635 case ssoTIME:
5636 case ssoSSTIME:
5637 case ssoCOUNTER:
5638 case ssoCOUNTERS:
5639 switch(tempsso->d3)
5640 {
5641 case sstsSHADOW:
5642 case sstsSHADOWU:
5643 case sstsOUTLINE8:
5644 case sstsOUTLINEPLUS:
5645 case sstsOUTLINEX:
5646 case sstsSHADOWED:
5647 case sstsSHADOWEDU:
5648 case sstsOUTLINED8:
5649 case sstsOUTLINEDPLUS:
5650 case sstsOUTLINEDX:
5651 h+=1;
5652 break;
5653 }
5654
5655 break;
5656 }
5657
5658 return h;
5659 }
5660
5661 int32_t sso_w(subscreen_object *tempsso)
5662 {
5663 int32_t w=0;
5664
5665 switch(tempsso->type)
5666 {
5667 case ssoNONE:
5668 w=5;
5669 break;
5670
5671 case sso2X2FRAME:
5672 w=tempsso->w*8;
5673 break;
5674
5675 case ssoTEXT:
5676 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5677 break;
5678
5679 case ssoLINE:
5680 w=tempsso->w;
5681 break;
5682
5683 case ssoRECT:
5684 w=tempsso->w;
5685 break;
5686
5687 case ssoBSTIME:
5688 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5689 break;
5690
5691 case ssoTIME:
5692 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5693 break;
5694
5695 case ssoSSTIME:
5696 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5697 break;
5698
5699 case ssoMAGICMETER:
5700 w=82;
5701 break;
5702
5703 case ssoLIFEMETER:
5704 w=64;
5705 break;
5706
5707 case ssoBUTTONITEM:
5708 w=16;
5709 break;
5710
5711 case ssoICON:
5712 w=8;
5713 break;
5714
5715 case ssoCOUNTER:
5716 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5717 break;
5718
5719 case ssoCOUNTERS:
5720 w=32;
5721 break;
5722
5723 case ssoMINIMAPTITLE:
5724 w=80;
5725 break;
5726
5727 case ssoMINIMAP:
5728 w=80;
5729 break;
5730
5731 case ssoLARGEMAP:
5732 w=16*((tempsso->d4)?9:7);
5733 break;
5734
5735 case ssoCLEAR:
5736 w=5;
5737 break;
5738
5739 case ssoCURRENTITEM:
5740 w=16;
5741 break;
5742
5743 case ssoITEM:
5744 w=16;
5745 break;
5746
5747 case ssoTRIFRAME:
5748 w=16*((tempsso->d7)?7:6);
5749 break;
5750
5751 case ssoTRIFORCE:
5752 w=16;
5753 break;
5754
5755 case ssoTILEBLOCK:
5756 w=16*(tempsso->w);
5757 break;
5758
5759 case ssoMINITILE:
5760 w=8;
5761 break;
5762
5763 case ssoSELECTOR1:
5764 case ssoSELECTOR2:
5765 w=tempsso->d5?32:16;
5766 break;
5767
5768 case ssoMAGICGAUGE:
5769 w=8;
5770 break;
5771
5772 case ssoLIFEGAUGE:
5773 w=8;
5774 break;
5775
5776 case ssoTEXTBOX:
5777 w=tempsso->w;
5778 break;
5779
5780 case ssoCURRENTITEMTILE:
5781 w=16;
5782 break;
5783
5784 case ssoSELECTEDITEMTILE:
5785 w=16;
5786 break;
5787
5788 case ssoCURRENTITEMTEXT:
5789 w=16;
5790 break;
5791
5792 case ssoCURRENTITEMNAME:
5793 w=tempsso->w;
5794 break;
5795
5796 case ssoSELECTEDITEMNAME:
5797 w=tempsso->w;
5798 break;
5799
5800 case ssoCURRENTITEMCLASSTEXT:
5801 w=tempsso->w;
5802 break;
5803
5804 case ssoCURRENTITEMCLASSNAME:
5805 w=tempsso->w;
5806 break;
5807
5808 case ssoSELECTEDITEMCLASSNAME:
5809 w=tempsso->w;
5810 break;
5811
5812 default:
5813 w=(zc_oldrand()*1000)%64;
5814 break;
5815 }
5816
5817 switch(tempsso->type)
5818 {
5819 case ssoTEXT:
5820 case ssoBSTIME:
5821 case ssoTIME:
5822 case ssoSSTIME:
5823 case ssoCOUNTER:
5824 case ssoCOUNTERS:
5825 switch(tempsso->d3)
5826 {
5827 case sstsSHADOW:
5828 case sstsSHADOWU:
5829 case sstsOUTLINE8:
5830 case sstsOUTLINEPLUS:
5831 case sstsOUTLINEX:
5832 case sstsSHADOWED:
5833 case sstsSHADOWEDU:
5834 case sstsOUTLINED8:
5835 case sstsOUTLINEDPLUS:
5836 case sstsOUTLINEDX:
5837 w+=1;
5838 break;
5839 }
5840
5841 break;
5842 }
5843
5844 return w;
5845 }
5846
5847 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
5848 {
5849 if(index<0)
5850 {
5851 return;
5852 }
5853
5854 int32_t x=sso_x(&tempss->objects[index]);
5855 int32_t y=sso_y(&tempss->objects[index]);
5856 int32_t w=sso_w(&tempss->objects[index]);
5857 int32_t h=sso_h(&tempss->objects[index]);
5858
5859 switch(get_alignment(&tempss->objects[index]))
5860 {
5861 case sstaCENTER:
5862 x-=(w/2);
5863 break;
5864
5865 case sstaRIGHT:
5866 x-=w;
5867 break;
5868
5869 case sstaLEFT:
5870 default:
5871 break;
5872 }
5873
5874 int32_t c=x+w/2;
5875 int32_t m=y+h/2;
5876 bool normalrect=true;
5877
5878 if(color==-1)
5879 {
5880 color=jwin_pal[jcTITLER];
5881 }
5882 else if(color==-2)
5883 {
5884 color=jwin_pal[jcTITLEL];
5885 }
5886
5887 //draw a bounding box around the current object
5888 if(normalrect)
5889 {
5890 rect(bmp, x, y, x+w-1, y+h-1, color);
5891 }
5892 else
5893 {
5894 rect(bmp, x-1, y-1, x+1, y+1, color);
5895 rect(bmp, x-1, y+h-2, x+1, y+h, color);
5896 rect(bmp, x+w-2, y-1, x+w, y+1, color);
5897 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
5898
5899 if(w>=9)
5900 {
5901 rect(bmp, c-1, y-1, c+1, y+1, color);
5902 rect(bmp, c-1, y+h-2, c+1, y+h, color);
5903 _allegro_hline(bmp, x+2, y, c-2, color);
5904 _allegro_hline(bmp, c+2, y, x+w-3, color);
5905 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
5906 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
5907 }
5908 else
5909 {
5910 _allegro_hline(bmp, x+2, y, x+w-3, color);
5911 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
5912 }
5913
5914 if(h>=9)
5915 {
5916 rect(bmp, x-1, m-1, x+1, m+1, color);
5917 rect(bmp, x+w-2, m-1, x+w, m+1, color);
5918 _allegro_vline(bmp, x, y+2, m-2, color);
5919 _allegro_vline(bmp, x, m+2, y+h-3, color);
5920 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
5921 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
5922 }
5923 else
5924 {
5925 _allegro_vline(bmp, x, y+2, y+h-3, color);
5926 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
5927 }
5928 }
5929 }
5930
5931
5932 10035961 int32_t scounter_to_ctr(int32_t ssc)
5933 {
5934
4/33
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 6062124 times.
✓ Branch 3 taken 1933683 times.
✓ Branch 4 taken 1041689 times.
✓ Branch 5 taken 998465 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
10035961 switch(ssc)
5935 {
5936 6062124 case sscRUPEES: return crMONEY;
5937 1933683 case sscBOMBS: return crBOMBS;
5938 1041689 case sscSBOMBS: return crSBOMBS;
5939 998465 case sscARROWS: return crARROWS;
5940 case sscSCRIPT1: return crCUSTOM1;
5941 case sscSCRIPT2: return crCUSTOM2;
5942 case sscSCRIPT3: return crCUSTOM3;
5943 case sscSCRIPT4: return crCUSTOM4;
5944 case sscSCRIPT5: return crCUSTOM5;
5945 case sscSCRIPT6: return crCUSTOM6;
5946 case sscSCRIPT7: return crCUSTOM7;
5947 case sscSCRIPT8: return crCUSTOM8;
5948 case sscSCRIPT9: return crCUSTOM9;
5949 case sscSCRIPT10: return crCUSTOM10;
5950 case sscSCRIPT11: return crCUSTOM11;
5951 case sscSCRIPT12: return crCUSTOM12;
5952 case sscSCRIPT13: return crCUSTOM13;
5953 case sscSCRIPT14: return crCUSTOM14;
5954 case sscSCRIPT15: return crCUSTOM15;
5955 case sscSCRIPT16: return crCUSTOM16;
5956 case sscSCRIPT17: return crCUSTOM17;
5957 case sscSCRIPT18: return crCUSTOM18;
5958 case sscSCRIPT19: return crCUSTOM19;
5959 case sscSCRIPT20: return crCUSTOM20;
5960 case sscSCRIPT21: return crCUSTOM21;
5961 case sscSCRIPT22: return crCUSTOM22;
5962 case sscSCRIPT23: return crCUSTOM23;
5963 case sscSCRIPT24: return crCUSTOM24;
5964 case sscSCRIPT25: return crCUSTOM25;
5965 case sscLIFE: return crLIFE;
5966 case sscMAGIC: return crMAGIC;
5967 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
5968 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
5969 return crKEYS;
5970 }
5971 return crNONE;
5972 10035961 }
5973
5974 /*** end of subscr.cc ***/
5975
5976